【发布时间】:2018-10-03 15:49:36
【问题描述】:
目前我的运行命令是这样的...
docker run -e DB_URL=$DB_URL -e DB_PORT=$DB_PORT ... <image name>
这可行,但可扩展性不强。有没有办法将所有配置的环境变量传递给容器而不声明每个?
我使用的是 OSX,这些设置在 .bash_profile 中。
【问题讨论】:
-
如何使用 shell 脚本收集所需的环境变量(set、grep、...)、构建运行命令字符串并启动它?
-
当然,但这不是重点,我宁愿有一个不那么老套的解决方案。如果我添加环境变量并且不记得更新等会发生什么。
-
使用 Docker Compose,您可以在 Compose 文件中指定环境变量,也可以指定包含所有环境变量的
env_file。我建议走这条路。 -
对 env_file 的事情似乎已经像 env_file=~/.bash_profile 一样关闭了。但这可能是 Windows 或其他操作系统映像的问题。所以我想基本上只是复制所有环境变量(或至少除非被列入黑名单)
标签: docker docker-for-mac