指定docker撰写的env文件

是否可以指定docker compose用于variablesreplace的env文件? 目前它默认为“.env”,但我有不同的风格的组成文件应该有不同的envs。

你可以为此使用inheritance。 如果您在设置环境的位置有一个“基本”服务,则所有其他服务都可以inheritance。

例:

version: "2" services: base: env_file: - my_env.txt web: extends: service: base image: foo database: extends: service: base image: foo-db 

上面的例子包含了同一个文件中的所有内容,但是你也可以把它分成多个文件,其中的base服务将驻留在一个base.yaml文件中。 你只需要添加file: base.yamlextends部分。 请看这里的文档 。

我使用这种方法来设置所有容器的代理variables。 我有一个proxy.yaml文件,它定义了一个proxy-app服务,它从shell中获取代理环境variables。 我所有的真实服务扩展了proxy-app服务,从而inheritance了该服务的环境设置。