Dar*_*Var 31 docker docker-compose
我有一个地方一个Dockerfile ARG在使用CMD指令:
ARG MASTER_NAME
CMD spark-submit --deploy-mode client --master ${MASTER_URL}
Run Code Online (Sandbox Code Playgroud)
arg通过docker-compose传递:
spark:
build:
context: spark
args:
- MASTER_URL=spark://master:7077
Run Code Online (Sandbox Code Playgroud)
但是,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}]}
Run Code Online (Sandbox Code Playgroud)
Jes*_*oco 59
问题是args只能在构建时使用,并且CMD在运行时执行.我想现在唯一可以达到你想要的方法是在Dockerfile中用MASTER_NAME值设置一个环境变量.
ARG MASTER_NAME
ENV MASTER_NAME ${MASTER_NAME}
CMD spark-submit --deploy-mode client --master ${MASTER_NAME}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9702 次 |
| 最近记录: |