在前缀为/home/gitlab-runner/builds/的目录中,有一个example.jar文件和一个Dockerfile,在Dockerfile中,有如下语句:
COPY example.jar /app我跑
docker build -t image_name ./然后,我得到以下错误:
COPY failed: stat /var/lib/docker/tmp/docker-builder457658077/example.jar: no such file or directory为什么COPY不能在目录中找到前缀为/home/gitlab-runner/builds/的example.jar?奇怪的/var/lib/docker..路径是如何跳入的?怎么处理这事?谢谢!
[root@koala 53bdd1747e3590f90fcc84ef4963d4885711e25f]# pwd
/home/gitlab-runner/builds/pica/eureka/53bdd1747e3590f90fcc84ef4963d4885711e25f
[root@koala 53bdd1747e3590f90fcc84ef4963d4885711e25f]# ls -al
total 52068
drwxrwxr-x 5 gitlab-runner gitlab-runner 4096 Dec 11 15:23 .
drwxrwxr-x 4 gitlab-runner gitlab-runner 4096 Dec 11 11:35 ..
-rw-rw-r-- 1 gitlab-runner gitlab-runner 17 Dec 11 11:35 APPLICATION_VERSION
-rw-rw-r-- 1 gitlab-runner gitlab-runner 644 Dec 11 11:35 docker-compose.yml
-rw-rw-r-- 1 gitlab-runner gitlab-runner 568 Dec 11 15:23 Dockerfile
drwxrwxr-x 8 gitlab-runner gitlab-runner 4096 Dec 11 11:35 .git
-rw-rw-r-- 1 gitlab-runner gitlab-runner 322 Dec 11 11:35 .gitignore
-rw-rw-r-- 1 gitlab-runner gitlab-runner 2438 Dec 11 11:35 .gitlab-ci.yml
-rw-rw-r-- 1 gitlab-runner gitlab-runner 53271183 Dec 11 11:35 example.jar
-rw-rw-r-- 1 gitlab-runner gitlab-runner 1043 Dec 11 11:35 pom.xml
drwxrwxr-x 4 gitlab-runner gitlab-runner 4096 Dec 11 11:35 src
drwxrwxr-x 8 gitlab-runner gitlab-runner 4096 Dec 11 11:35 target发布于 2019-12-11 17:37:48
从服务器错误中复制我的答案,没有意识到这个问题是交叉发布的。
COPY example.jar /app此命令期望生成上下文根目录中有一个example.jar。构建上下文是docker build的最后一个参数,在本例中是.,或者是当前目录。从ls -al输出中,您没有在目录中提交这个jar文件,并且docker告诉您,COPY命令在构建上下文中找不到example.jar。如果它位于另一个子目录中,则需要使用该位置更新COPY命令。
要调试生成上下文中的问题,可以生成并运行以下Dockerfile:
FROM busybox
COPY . /build-context
WORKDIR /build-context
CMD find .这将将整个构建上下文复制到图像中,并在运行容器时使用find命令列出内容。
https://stackoverflow.com/questions/59288142
复制相似问题