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