嗨,我有一个带有dockerfile的项目,我正在尝试构建dockerfile以在其创建的环境中运行该项目,但在构建的第5步以及查看dockerfile时似乎出现错误我发现代码有点奇怪/那时候我不明白。
这是dockerfile:
FROM node:8.10-alpine
ENV NODE_ENV development
# Create app directory
WORKDIR /var/app
# Install Node packages
COPY package.json package.json
RUN apk install git \
&& npm i \
&& apk del .gyp\
&& mv /var/app/node_modules /node_modules \
&& rm -rf /var/cache/apk/* \
&& apk del git
# Bundle app source
COPY . .
#COPY entrypoint.sh entrypoint.sh
# Expose port
EXPOSE 88
#ENTRYPOINT ["./entrypoint.sh"]
CMD ["npm", "run", "dev"]
这是我得到的错误:
Step 5/8 : RUN apk install git && npm i && apk del .gyp && mv /var/app/node_modules /node_modules && rm -rf /var/cache/apk/* && apk del git
---> Running in 251259cdb8a2
apk-tools 2.7.5, compiled for x86_64.
然后,我会收到一堆类似于您在某事上输入-help所得到的文本,然后最后我得到:
This apk has coffee making abilities.
The command '/bin/sh -c apk install git && npm i && apk del .gyp && mv /var/app/node_modules /node_modules && rm -rf /var/cache/apk/* && apk del git' returned a non-zero code: 1
这似乎是有问题的部分:
RUN apk install git \
&& npm i \
&& apk del .gyp\
&& mv /var/app/node_modules /node_modules \
&& rm -rf /var/cache/apk/* \
&& apk del git
答案 0 :(得分:0)
在使用apk之前只需尝试添加其他行,看看它是否可以解决
RUN echo "ipv6" >> /etc/modules
RUN apk install git \
参考:link
注意:将有问题的步骤分为多个步骤,例如
RUN apk install git
RUN npm i
RUN apk del .gyp
RUN mv /var/app/node_modules /node_modules
RUN rm -rf /var/cache/apk/*
RUN apk del git
将有助于更准确地定位问题点。
答案 1 :(得分:0)
您有2期。一种与命令apk del .gyp
(返回代码与0
不同),另一种与您未正确装入文件夹的事实有关。
# apk del .gyp
# echo $?
1
此外,容器中没有安装/var/app/node_modules
这样的东西:
# ls /var/app/node_modules
# ls: /var/app/node_modules: No such file or directory
您要做的是
/var/app/node_modules
已正确安装在容器中apk del .gyp
在做什么,但是您可能需要对其进行调查。它似乎无法正常工作。