首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker:复制无法在本地目录中找到‘Docker build`’运行的文件

Docker:复制无法在本地目录中找到‘Docker build`’运行的文件
EN

Stack Overflow用户
提问于 2019-12-11 14:36:28
回答 1查看 5.4K关注 0票数 1

在前缀为/home/gitlab-runner/builds/的目录中,有一个example.jar文件和一个Dockerfile,在Dockerfile中,有如下语句:

代码语言:javascript
复制
COPY example.jar /app

我跑

代码语言:javascript
复制
  docker build -t image_name ./

然后,我得到以下错误:

代码语言:javascript
复制
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..路径是如何跳入的?怎么处理这事?谢谢!

代码语言:javascript
复制
    [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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-11 17:37:48

从服务器错误中复制我的答案,没有意识到这个问题是交叉发布的。

代码语言:javascript
复制
COPY example.jar /app

此命令期望生成上下文根目录中有一个example.jar。构建上下文是docker build的最后一个参数,在本例中是.,或者是当前目录。从ls -al输出中,您没有在目录中提交这个jar文件,并且docker告诉您,COPY命令在构建上下文中找不到example.jar。如果它位于另一个子目录中,则需要使用该位置更新COPY命令。

要调试生成上下文中的问题,可以生成并运行以下Dockerfile:

代码语言:javascript
复制
FROM busybox
COPY . /build-context
WORKDIR /build-context
CMD find .

这将将整个构建上下文复制到图像中,并在运行容器时使用find命令列出内容。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59288142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档