需要在我的 Dockerfile 中复制多个目录。目前,我正在做:
COPY dir1 /opt/dir1
COPY dir2 /opt/dir2
COPY dir3 /opt/dir3
Run Code Online (Sandbox Code Playgroud)
我更愿意将它们合并为一个语句,一次性指定所有来源。但是,通过这种方式复制内容,我丢失了dir1, dir2,dir3结构:
COPY dir1 dir2 dir3 /opt/
Run Code Online (Sandbox Code Playgroud)
在这种情况下相同:
COPY dir1/ dir2/ dir3/ /opt/
Run Code Online (Sandbox Code Playgroud)
有没有办法用一条线来实现这一目标?
您应该考虑ADD而不是COPY:参见DockerfileADD
如果
<src>是可识别的压缩格式(identity、gzip、bzip2 或 xz)的本地 tar 存档,则将其解压缩为目录。
这意味着您可以将 docker 构建步骤包装到一个脚本中,该脚本首先tar -cvf dirs.tar dir1 dir2 dir3
然后,您的 Dockerfile 可以ADD dirs.tar:您将在映像中找到您的文件夹。
| 归档时间: |
|
| 查看次数: |
3804 次 |
| 最近记录: |