Dockerfile没有find我的包括

新来的Docker和检查通过文档,但似乎这是一个合理的首先去Dockerfile。

我正在运行以下Dockerfile,但遇到一些问题:

FROM iojs:onbuild COPY ../../webserver/includes/masterconfig.js ../../webserver/includes/masterconfig.js 

这可能是一个菜鸟的错误,但你的帮助是赞赏:)

 docker build -t nearby-pushes . Sending build context to Docker daemon 9.728 kB Sending build context to Docker daemon Step 0 : FROM iojs:onbuild # Executing 3 build triggers Trigger 0, COPY package.json /usr/src/app/ Step 0 : COPY package.json /usr/src/app/ ---> Using cache Trigger 1, RUN npm install Step 0 : RUN npm install ---> Using cache Trigger 2, COPY . /usr/src/app Step 0 : COPY . /usr/src/app ---> 5f4c87e2362c Removing intermediate container 16a8fb4b4be1 Step 1 : COPY ../../webserver/includes/masterconfig.js ../../webserver/includes/masterconfig.js INFO[0010] ../../webserver/includes/masterconfig.js: no such file or directory 

ADDCOPY指令不能看到父目录中的文件。 换句话说,你不能使用以../开头的文件path。

从Docker文档:

path必须在构build的上下文中; 你不能添加../something /东西,因为docker build的第一步是将上下文目录(和子目录)发送到docker守护进程。

path必须在构build的上下文中; 你不能COPY ../something / something,因为docker build的第一步是将上下文目录(和子目录)发送到docker守护进程。

重要的话是build设的背景 。 从docker构build文档:

从Dockerfile和“上下文”构buildDocker镜像。 构build的上下文是位于指定PATH或URL中的文件。 构build过程可以引用上下文中的任何文件。 例如,您的构build可以使用ADD指令来引用上下文中的文件。

该错误显示它无法在您的目录中findmasterconfig.js。 尝试使用绝对目录和dst目录也使用像/masterconfig.js等绝对目录

 FROM iojs:onbuild COPY absolutepath/webserver/includes/masterconfig.js /masterconfig.js 

或者确保dst目录存在,

 CMD mkdir -p /webserver/includes COPY absolutepath/webserver/incldues/masterconfig.js /webserver/incldues/maserconfig.js 
Interesting Posts