我想在构建时传递一个变量,并在运行时使用此参数启动脚本。我该怎么做?

Dockerfile

FROM alpine
ARG var
# ENV var=${var} # doesn't work
CMD ["echo", "${var}"]
# ENTRYPOINT ["echo", "$var"] # doesn't work
# ENTRYPOINT "echo" "$var" # doesn't work

运行:
docker run -t $(docker build  --build-arg  var=hello -q .)

产生:
$var

最佳答案



换句话说,正确的Dockerfile将是:

FROM alpine
ARG var
ENV var $var
CMD echo $var

为了正确地构建它,您应该运行:
docker run -t $( docker build --build-arg=var=hello -q . )

src:https://docs.docker.com/engine/reference/builder/#cmd

关于docker - 将arg传递给docker build,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57661351/

10-12 03:05
查看更多