是否可以将多个环境变量文件与docker-compose
一起使用?
在我的文件夹中,有docker-compose
,.env.prod
和.env.dev
。
docker documentation建议您可以这样做,但我假设该示例仅适用于Dockerfile
s?
理想情况下,我希望运行例如docker-compose up dev
。或某些变化。
我将如何处理?
答案 0 :(得分:1)
我看不到什么选择-
定义两个服务,一个为dev
,另一个为prod
,并将.env.dev
和.env.prod
值作为env_file提供给组合文件中的各个服务。发布您可以运行docker-compose up -d dev
和docker-compose up -d prod
的信息。
使用Shell hack-
对于开发者
$ export CURRENT_ENV_FILE=.env.dev
对于产品
$ export CURRENT_ENV_FILE=.env.prod
按如下所示更改撰写
...
env_file:
- ${CURRENT_ENV_FILE}
...
针对不同的环境使用不同的撰写文件。
您可以将多个环境文件提供给一项服务,虽然不建议这样做,但在某些时候可能会对您有所帮助。
env_file:
- ./api.env
- ./api2.env