指定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.yaml
到extends
部分。 请看这里的文档 。
我使用这种方法来设置所有容器的代理variables。 我有一个proxy.yaml
文件,它定义了一个proxy-app
服务,它从shell中获取代理环境variables。 我所有的真实服务扩展了proxy-app
服务,从而inheritance了该服务的环境设置。