Windows11下如何在docker compose up命令中传递环境变量?
解决Docker Compose Up传递环境变量的问题
你说得对,docker compose up确实不支持--env/-e参数,这个参数仅适用于docker compose run命令。针对Windows 11系统,你可以通过以下两种安全方式传递vault_token变量:
方法一:终端临时设置环境变量后启动
Compose会自动读取当前终端会话中的环境变量,用来替换docker-compose.yml里的${vault_token}占位符。
若使用CMD命令行:
set vault_token=00000000-0000-0000-0000-000000000000 docker compose up --build
若使用PowerShell:
$env:vault_token="00000000-0000-0000-0000-000000000000" docker compose up --build
这种方式的优势是环境变量仅在当前终端会话生效,关闭窗口后变量自动消失,无需写入任何文件,符合安全要求。
方法二:单条命令完成设置与启动
可以将设置变量和启动命令合并为一行,一次性执行:
CMD命令行:
set vault_token=00000000-0000-0000-0000-000000000000 && docker compose up --build
PowerShell:
$env:vault_token="00000000-0000-0000-0000-000000000000"; docker compose up --build
执行后,Vault容器会正确读取你传递的vault_token值作为VAULT_DEV_ROOT_TOKEN_ID。
内容的提问来源于stack exchange,提问作者jonathan
相关产品推荐
相关产品推荐

