在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}