扩展码头服务3
我为docker-compose 3创建了一个使用许多环境变量的服务:
version: "3" services: myservice: build: context: ./myservice command: ./something environment: VAR1: "val1" VAR2: "val2" VAR3: "val3"
现在我想添加一个服务,使用相同的环境变量值,除了VAL1
,并有一个不同的命令:
myotherservice: build: context: ./myservice command: ./somethingelse environment: VAR1: "val1-bis" VAR2: "val2" VAR3: "val3"
有什么办法可以避免docker-compose.yml
文件中的环境变量的重复? 在docker-compose 2中,可以使用extends
关键字,但在docker-compose 3中不再是这种情况。
您可以将公共环境变量提取到一个env文件。
此后,您可以在撰写文件中使用env_file
配置选项。
-> cat common.env VAR2=val2 VAR3=val3
您仍然可以使用environment
配置选项来传递/覆盖common.env
指定的环境变量以外的环境变量。
myotherservice: build: context: ./myservice command: ./somethingelse env_file: ./common.env environment: VAR1: "val1-bis"