Разрешен ли 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}