Dockerfile 从 Windows 文件系统复制到 docker 容器

Dockerfile COPY from a Windows file system to a docker container

我有一个简单的 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,自然就找不到文件。其次,我尝试了 /\,但结果都一样。我怀疑驱动器号也混淆了 docker。所以问题是如何将文件和文件夹(连同内容)从 Windows 文件夹复制到 docker 容器?

首先,将您的 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> .

另一个可能有用的提示,我在 运行 从正确的上下文构建时看到了同样的问题,并且问题一直存在,直到我在我想从中复制的 src 文件夹中使用了所有小型大写字母。例如:

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