Dockerfile问题

时间:2018-12-04 09:17:20

标签: docker dockerfile

嗨,我有一个带有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

2 个答案:

答案 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

您要做的是

  1. 确保/var/app/node_modules已正确安装在容器中
  2. 我不确定命令apk del .gyp在做什么,但是您可能需要对其进行调查。它似乎无法正常工作。