无法为COPY创建docker镜像失败:stat/var/lib/docker/tmp/docker-builder错误

Edo*_*Ben 36 python docker dockerfile docker-image

我想创建一个泊坞窗图像.这是我的工作目录:Dockerfile.in test.json test.py

这是我的Dockerfile:

COPY ./test.json /home/test.json
COPY ./test.py /home/test.py

RUN python test.py
Run Code Online (Sandbox Code Playgroud)

当我启动此命令时: docker build -f Dockerfile.in -t 637268723/test:1.0 .

它给了我这个错误:

`Step 1/5 : COPY ./test.json /home/test.json
 ---> Using cache
 ---> 6774cd225d60
 Step 2/5 : COPY ./test.py /home/test.py
 COPY failed: stat /var/lib/docker/tmp/docker-builder428014112/test.py: 
 no such file or directory`
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

Iva*_*Lee 22

您应该将这些文件放入Dockerfile的同一目录中.

  • 如果这不起作用,请检查您的“.dockerignore”文件! (4认同)

Rod*_*rry 14

  1. Q1:.dockerignore在构建路径中检查您的文件,您要复制的文件或目录可能在忽略文件列表中!
  2. Q2:COPY 指令基于您构建映像的上下文,因此请注意当前正在构建映像的目录的任何问题!请参阅:https : //docs.docker.com/engine/reference/builder/#copy

  • .dockerignore 是我的问题的根本原因! (2认同)

小智 11

检查是否有.dockerignore文件,如果有,请添加:

!mydir/test.json
!mydir/test.py
Run Code Online (Sandbox Code Playgroud)

  • 这个对我有用,整个文件夹都被忽略了,然后 docker 未能创建图像,给人一种不好的印象,让我对文件路径感到生气。 (2认同)

Kev*_*vin 8

确保构建图像所用的上下文设置正确。您可以在构建时设置上下文作为参数。示例: docker build -f ./Dockerfile ..其中“..”是本示例中的上下文。

  • 谢谢!!!这对我帮助很大。我正在使用“docker build - < docker/gpu.Dockerfile”,但现在我尝试了“docker build -f docker/gpu.Dockerfile”,它工作得很好 (2认同)

小智 7

./从源路径中删除应该可以解决您的问题:

 COPY test.json /home/test.json
 COPY test.py /home/test.py
Run Code Online (Sandbox Code Playgroud)

  • 在可能的情况下,我将它们放入 docker ignore 哦不:D (5认同)

Tad*_*dej 6

我不得不使用以下命令来启动构建:

docker build .


Kum*_*hek 5

我也面临同样的情况,我将我的 docker 文件移动到项目的根目录。然后它起作用了