docker - Docker:COPY是否支持可变目的地?

标签 docker copy

是否可以在Dockerfile的COPY中指定变量dest-dir?
例如。给定这个Dockerfile:

ARG dest_dir=/foo/bar/

FROM alpine:3.7 as base
COPY ./ ${dest_dir}
... docker build似乎无法识别变量目标:
$ docker build .
[+] Building 0.3s (7/7) FINISHED
 => [internal] load build definition from Dockerfile                                                                                                                                                                                                    0.0s
 => => transferring dockerfile: 118B                                                                                                                                                                                                                    0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                                       0.0s
 => => transferring context: 2B                                                                                                                                                                                                                         0.0s
 => [internal] load metadata for docker.io/library/alpine:3.7                                                                                                                                                                                           0.0s
 => CACHED [1/2] FROM docker.io/library/alpine:3.7                                                                                                                                                                                                      0.0s
 => [internal] load build context                                                                                                                                                                                                                       0.0s
 => => transferring context: 106B                                                                                                                                                                                                                       0.0s
 => [2/2] COPY ./                                                                                                                                                                                                                                       0.1s
 => exporting to image                                                                                                                                                                                                                                  0.1s
 => => exporting layers                                                                                                                                                                                                                                 0.1s
 => => writing image sha256:e761939bd6a8092e51e37b08d3b4ca196d310d5e36d232252313cdddd68adace                                                                                                                                                            0.0s
上面要注意的是,在步骤2/2中,COPY没有第二个参数。
我尝试用双引号ARG值,它在COPY语句中的使用以及两者都无济于事。

最佳答案

ARG出现在FROM语句之前时,它仅适用于其后的FROM语句。如果要在文件的其余部分中应用ARG语句it must appear after the FROM statement
像这样:

FROM alpine:3.7 as base

ARG dest_dir=/foo/bar/
COPY ./ ${dest_dir}

关于docker - Docker:COPY是否支持可变目的地?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64529354/

相关文章:

docker - GKE中发生节点自动伸缩时如何获取通知

qt - 在多个小部件上显示相同的 QPushButton

linux - Azure,制作 Linux VM 的副本而不删除原始虚拟机

c - 用另一个结构初始化一个结构

ios - 在 2 个 View Controller 中使用相同的 UIWebview 作为 subview

excel - 复制过滤表

node.js - 如何将 Svelte 应用程序放入 docker 容器?

testing - 在 Docker 容器中运行 Jenkins 测试从代码库中的 dockerfile 构建

python - AWS Lambda 函数返回 "errorMessage": "[Errno 30] Read-only file system: '/home/sbx_user105 1'"

docker - Kubernetes部署数据库连接错误