一、问题

通常我们会在 Dockerfile 文件所在的文件夹下执行 docker build 命令创建镜像,如下:

docker build -t ${image_name} .

通过此方式创建镜像的时候,需要注意的是如果在 Dockerfile 中使用 COPY 命令,那只能 COPY 与 Dockerfile 文件处于同一目录下的文件或者或者文件夹。如果我们要 COPY 不与 Dockerfile 文件处于同一目录下的文件或者或者文件夹在会报错,如下:

COPY failed: stat xxxx: no such file or directory

二、解决方案一

最简单的方案是,将所有涉及到的文件或者文件夹与 Dockerfile 放在同一个目录下,这样 COPY 命令就能找到文件或者目录了。

三、解决方案二:

无须进入到 Docerfile 文件所在目录,通过 “docker build -f xxx/xxx/xxx .” 中的 “-f” 来指定 Dockerfile 的完整路径,来解决这个问题。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐