docker-compose具有多个环境变量

时间:2018-07-31 09:41:15

标签: docker docker-compose environment-variables

是否可以将多个环境变量文件与docker-compose一起使用?

在我的文件夹中,有docker-compose.env.prod.env.dev

docker documentation建议您可以这样做,但我假设该示例仅适用于Dockerfile s?

理想情况下,我希望运行例如docker-compose up dev。或某些变化。

我将如何处理?

1 个答案:

答案 0 :(得分:1)

我看不到什么选择-

  1. 定义两个服务,一个为dev,另一个为prod,并将.env.dev.env.prod值作为env_file提供给组合文件中的各个服务。发布您可以运行docker-compose up -d devdocker-compose up -d prod的信息。

  2. 使用Shell hack-
    对于开发者
    $ export CURRENT_ENV_FILE=.env.dev
    对于产品
    $ export CURRENT_ENV_FILE=.env.prod

    按如下所示更改撰写

    ...
    env_file:
    - ${CURRENT_ENV_FILE}
    ...

  3. 针对不同的环境使用不同的撰写文件。

  4. 您可以将多个环境文件提供给一项服务,虽然不建议这样做,但在某些时候可能会对您有所帮助。

    env_file:
    - ./api.env
    - ./api2.env