在CMD中允许Docker ARG允许

我有一个Dockerfile在CMD指令中使用ARG

ARG MASTER_NAME CMD 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只能在构build时使用,并且CMD在运行时正在执行。 我想现在唯一的方法就是在Dockerfile中用MASTER_NAME值设置一个环境variables。

 ARG MASTER_NAME ENV MASTER_NAME ${MASTER_NAME} CMD spark-submit --deploy-mode client --master ${MASTER_URL}