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

标签 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 ,那么自然会找不到该文件.其次,我尝试过 /\ 但结果都一样。我怀疑的驱动器号也让 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> .

关于Dockerfile 从 Windows 文件系统复制到 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46309423/

相关文章:

javascript - 如何处理使用代码拆分的 Docker webpack 应用程序的新版本部署?

docker - Docker容器端口6002连接被拒绝

Docker Desktop VM 无法从公司网络访问互联网

docker - docker 中 Windows 上的 gitlab-runner 无法运行,出现错误的 OSType 错误

docker - 如何为我的项目的多个版本共享一个Dockerfile?

docker - 未找到挂载点

node.js - docker 容器中的 puppeteer 操纵者 : Chromium revision is not downloaded

Docker + 马拉松 : how to do a port mapping ?

mysql - 数据库 - 连接不可用

mysql - 为Mysql 8.0构建docker容器失败