Dockerfile从Windows文件系统COPY到docker容器

时间:2017-09-19 20:40:31

标签: docker dockerfile docker-for-windows

我有一个简单的 Dockerfile

FROM php:7.1-apache
LABEL maintainer="rburton@agsource.com"
COPY C:/Users/rburton/code/MyAgsourceAPI /var/www

这是给我带来问题的最后一行。我正在从Windows结构复制到docker容器(Linux我假设)。当我构建这个图像时,我得到:

...
Step 3/3 : COPY C:/Users/rburton/code/MyAgsourceAPI /var/www
COPY failed: stat /var/lib/docker/tmp/dockerbuilder720374851/C:/Users/rburton/code/MyAgsourceAPI: no such file or directory

首先,有些东西阻止了这是一个绝对路径的认识,如果路径预先加上/var/lib/docker/tmp/dockerbuilder720374851,则自然会找不到该文件。其次,我尝试了/\,但结果相同。我怀疑的驱动器号码也让码头工人感到困惑。所以问题是如何将文件和文件夹(以及内容)从Windows文件夹复制到docker容器?

2 个答案:

答案 0 :(得分:1)

首先,将您的Dockerfile更改为:

FROM php:7.1-apache
LABEL maintainer="rburton@agsource.com"
COPY MyAgsourceAPI /var/www

然后,转到code目录:cd Users/rburton/code

该目录中,运行: docker build -t <image_name> .

答案 1 :(得分:0)

另一个可能有用的技巧是,从正确的上下文运行构建时遇到了相同的问题,直到我使用了要复制的src文件夹上的所有小写字母之前,问题一直存在。例如:

COPY MyAgsourceAPI /var/www -> COPY myagsourceapi /var/www