首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker ADD with symlink

docker ADD with symlink
EN

Stack Overflow用户
提问于 2021-09-12 00:08:47
回答 1查看 43关注 0票数 0

当我执行步骤8/10时,sudo docker build -t test -f 7.1/Dockerfile . docker失败:

代码语言:javascript
复制
Step 8/10 : ADD etc/php /usr/local/etc/php
ADD failed: file not found in build context or excluded by .dockerignore: stat etc/php: file does not exist

我不明白。etc/php被符号链接到另一个目录。这不是应该行得通吗?

如果我执行ls -latr etc/php,我会得到这样的结果:

代码语言:javascript
复制
lrwxrwxrwx 1 scbn scbn 43 Sep 11 17:48 etc/php -> /home/neubert/devops/containers/common/etc/php

如果我执行cd etc/php && ls -latr,我会得到这样的结果:

代码语言:javascript
复制
total 84
drwxr-xr-x 2 scbn scbn  4096 Jan  3  2021 conf.d
drwxr-xr-x 5 scbn scbn  4096 Jan  3  2021 ..
-rw-r--r-- 1 scbn scbn 70125 Jan 26  2021 php.ini
drwxr-xr-x 3 scbn scbn  4096 Jan 26  2021 .
EN

回答 1

Stack Overflow用户

发布于 2021-09-12 00:19:39

$ docker build --帮助

用法: docker构建选项路径| URL |-

在这里,PATH | URL | -是所谓的构建上下文,您通常使用.,但它也可以是其他路径。当docker构建时,它将压缩build context中的所有内容,然后将其传递给docker engine。因此,Dockerfile中的COPY只能引用build context中的项。

对于您的场景:

lrwxrwxrwx 1 scbn scbn 43 Sep 11 17:48 etc/php -> scbn

上面我猜符号链接etc/php在你的构建上下文中,而真正的文件夹/home/neubert/devops/containers/common/etc/php不在,所以构建失败,你必须以某种方式保证真正的目标也在build context中。

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

https://stackoverflow.com/questions/69147559

复制
相关文章

相似问题

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