我正在尝试在 Dockerfile 中使用环境变量替换,并与 docker 中的环境变量替换配对,但看起来变量替换发生在替换之后。
以下 Dockerfile:
FROM alpine:3.7
ENV name="World"
ENV message="Hello, ${name}"
ENTRYPOINT ["env"]
Run Code Online (Sandbox Code Playgroud)
使用 Docker 运行命令:
$ docker run -it --rm -e "name=Marvin" envtest/helloworld
Run Code Online (Sandbox Code Playgroud)
打印以下环境变量:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=49d702faf257
TERM=xterm
name=Marvin
message=Hello, World
HOME=/root
Run Code Online (Sandbox Code Playgroud)
您可以看到,即使我替换了 name 变量,消息变量仍然被name中的原始值替换。
有谁知道如何使用docker环境变量替换来进行环境变量替换?