我有一个Dockerfile,ARG
指令中使用了CMD
:
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
的{{1}}似乎没有得到扩展。在我CMD
之后。
以下是检查显示的内容:
docker-compose up
答案 0 :(得分:46)
问题是args
只能在构建时使用,而CMD
正在运行时执行。我想现在唯一能达到你想要的方法是在Dockerfile中用MASTER_NAME
值设置一个环境变量。
ARG MASTER_NAME
ENV MASTER_NAME ${MASTER_NAME}
CMD spark-submit --deploy-mode client --master ${MASTER_NAME}