如何通过CLI向Docker Compose传递环境变量
命令行传递环境变量给docker-compose的方法
首先纠正:docker-compose up 并不支持 -e 参数,你可以用以下几种方式实现需求:
方式一:命令行前置环境变量
直接在执行 docker-compose up 前设置环境变量,变量会被docker-compose读取并替换配置里的 ${RELOAD}:
RELOAD=true docker-compose up
如果是Windows环境:
- PowerShell语法:
$env:RELOAD="true"; docker-compose up
- 命令提示符(CMD)语法:
set RELOAD=true && docker-compose up
方式二:指定临时环境文件
如果需要传递多个变量,可临时创建仅包含目标变量的文件(比如temporary.env,内容为RELOAD=true),然后执行:
docker-compose --env-file temporary.env up
这种方式不会改动你原有的.env文件。
补充说明
你的docker-compose.yml中command: --reload.data=${RELOAD}的配置是有效的,只要环境变量RELOAD能被docker-compose读取到,就会自动替换为对应值,传递给容器启动命令。
内容的提问来源于stack exchange,提问作者IceMajor
相关产品推荐
相关产品推荐

