Разрешен ли Docker ARG в CMD instrcution
у меня есть 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, похоже, не расширяется для CMD. После Того, Как Я ... --7-->.
вот, что осмотр показывает:
docker inspect -f "{{.Name}} {{.Config.Cmd}}" $(docker ps -a -q)
/spark {[/bin/sh -c spark-submit --deploy-mode client --master ${MASTER_URL}]}
1 ответов
дело в том, что args можно использовать только во время сборки, и CMD выполняется во время выполнения. Я думаю, что единственный подход сейчас для достижения того, что вы хотите, - это установка переменной среды в Dockerfile с помощью MASTER_NAME значение.
ARG MASTER_NAME
ENV MASTER_NAME ${MASTER_NAME}
CMD spark-submit --deploy-mode client --master ${MASTER_NAME}