是否可以为docker compose文件中的服务设置全局设置?

是否可以为docker compose文件中的服务设置全局设置?,docker,docker-compose,Docker,Docker Compose,是否可以为Docker compose文件中的服务指定全局设置 例如,以Docker Compose文件为例: 版本:“3.9” 服务: 测试1: 环境文件:/path/to/env/file 图片:测试 容器名称:test1 端口: - "1234:22" 网络: -dmz 重新启动:始终 测试2: 环境文件:/path/to/env/file 图片:测试 容器名称:test2 端口: - "2345:22" 网络: -信任 重新启动:始终 网络: dmz: 司机:驾驶台 信托: 司机:驾驶台

是否可以为Docker compose文件中的服务指定全局设置

例如,以Docker Compose文件为例:

版本:“3.9”
服务:
测试1:
环境文件:/path/to/env/file
图片:测试
容器名称:test1
端口:
- "1234:22"
网络:
-dmz
重新启动:始终
测试2:
环境文件:/path/to/env/file
图片:测试
容器名称:test2
端口:
- "2345:22"
网络:
-信任
重新启动:始终
网络:
dmz:
司机:驾驶台
信托:
司机:驾驶台
我不希望每个服务都有
env_file:/path/to/env/file
,我希望它适用于所有服务。我知道我可以在docker compose命令行中传递它,但我希望可以在docker compose文件中传递它。

尝试使用

通过对扩展字段的支持,可以按如下方式编写Compose文件,以提高重用片段的可读性:

这是README.md中的示例:


x日志记录:&默认日志记录
选项:
最大尺寸:“12米”
最大文件:“5”
驱动程序:json文件
服务:
前端:
图片:真棒/webapp
日志记录:*默认日志记录
后端:
图片:真棒/数据库
日志记录:*默认日志记录

尽管@timsmelik的答案指向正确的方向,并展示了如何使用带有标量值的yaml锚和别名,但您可能可以利用此处为您的服务设置可覆盖的默认值

下面是一个例子来说明

版本:“3.9”
x服务默认值:&服务默认值
环境文件:/path/to/env/file
图片:测试
重新启动:始终
服务:
测试1:

如果您将docker compose文件保存在同一目录中,我相信您可以利用
中所述的事实。默认情况下,docker compose命令将在您运行该命令的目录中查找名为.env的文件。
还可以查看有关此主题的github问题;意识到这一点。我的
env_文件
示例就是一个示例。我想在任何/其他设置中都这样做。谢谢!这也很有效。我会和他们一起玩,看看哪个更适合我的需要。