2

是否可以将多个文件复制到一个中的不同位置Dockerfile

我希望从:

COPY outputs/output/build/.tools /root/.tools
COPY outputs/output/build/configuration /root/configuration
COPY outputs/output/build/database/postgres /root/database/postgres

我尝试了以下方法,但没有任何乐趣:

COPY ["outputs/output/build/.tools /root/.tools","outputs/output/build/configuration /root/configuration","outputs/output/build/database/postgres /root/database/postgres"]

不确定这是否可能。

4

2 回答 2

1

.dockerignoredocker构建上下文目录中创建一个文件。创建ln要复制的根目录的软链接 (),并在.dockerignore.

在您的情况下,您不需要软链接,因为该目录已经在docker构建上下文中。现在,在.dockerignore文件中添加您不想要的目录,例如。如果你不想要bin目录,你可以这样做,

# this is .dockerignore file
outputs/output/build/bin*

最后在你的Dockerfile,

COPY outputs/output/build/ /root/

详情在这里

于 2018-07-23T07:07:02.887 回答
-1

看起来你正在尝试做 bash 风格的[]大括号扩展 RUN命令使用shNOTbash

看到这篇讨论它的SO文章

Bash 大括号扩展不适用于 Dockerfile RUN 命令

或泊坞窗参考

https://docs.docker.com/engine/reference/builder/#/run

于 2018-07-23T17:47:45.333 回答