CMD指令中是否允许Docker ARG
我有一个Dockerfile,其中ARG
在CMD
指令中使用了:
ARG MASTER_NAMECMD spark-submit --deploy-mode client --master ${MASTER_URL}
arg通过docker-compose传递:
spark: build:
context: spark
args:
- MASTER_URL=spark://master:7077
但是,ARG
似乎并未针对展开CMD
。我之后docker-compose up
。
这是检查显示的内容:
docker inspect -f "{{.Name}} {{.Config.Cmd}}" $(docker ps -a -q)/spark {[/bin/sh -c spark-submit --deploy-mode client --master ${MASTER_URL}]}
回答:
问题是args
只能在构建时使用,而CMD
在运行时正在执行。我想现在唯一实现您想要的方法是在Dockerfile中使用该MASTER_NAME
值设置环境变量。
ARG MASTER_NAMEENV MASTER_NAME ${MASTER_NAME}
CMD spark-submit --deploy-mode client --master ${MASTER_NAME}
以上是 CMD指令中是否允许Docker ARG 的全部内容, 来源链接: utcz.com/qa/412157.html