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

Docker: does COPY support variable destinations?

是否可以在 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}