docker - YAML 与 Anchors ...如何结合?
问题描述
嗨,这就是我的情况
x-service-setting: &service-settings
environment:
- RabbitMQ:HostName=rabbitmq
- RabbitMQ:Port=5672
- RabbitMQ:VirtualHost=/
我要创建这个服务的多个实例,不同的服务有不同的后端点。
service_1:
container_name: service_1
<<: *service-settings
environment:
- EndPoint : service_1 Endpoint
sercices_2:
container_name: sercices_2
<<: *service-settings
environment:
- EndPoint : service_2 Endpoint
有可能像下面这样吗?
environment:
- RabbitMQ:HostName=rabbitmq
- RabbitMQ:Port=5672
- RabbitMQ:VirtualHost=/
- EndPoint : service_1 Endpoint
environment:
- RabbitMQ:HostName=rabbitmq
- RabbitMQ:Port=5672
- RabbitMQ:VirtualHost=/
- EndPoint : service_2 Endpoint
解决方案
YAML 合并键仅适用于映射。它不会递归合并;它只是对当前映射中已经存在的键没有任何作用(在您的代码中就是这种情况)。
您将需要像 Jinja 这样的模板引擎(通常与 YAML 一起使用,例如在 Ansible 或 SaltStack 中)来执行此类处理。
推荐阅读
- angular - Angular - 去抖动清晰度 vm-ware datagrid clrDgRefresh
- javascript - Сurve 线作为没有地图的两点之间的方向
- javascript - 如何从网页将javascript值加载到python中?
- c - 我们是否必须在 switch 语句之后添加一些东西
- python - 我将 python 3.6.4 更新到 3.7.2_2 并且我所有导入的模块都停止工作
- nginx - 如何为 kubernetes nginx-ingress 启用 vts 仪表板?
- php - 为什么上传的 Xerox PDF 会导致 418 错误?
- python - 纸浆蟒蛇 - 变量需要很长时间才能加载:给出内存不足错误
- c++ - 代码适用于 Boost 多精度库浮点数,但不适用于 GMP 后端
- unit-testing - 一次测试多个单元测试时出错