我有两个服务(serviceA 和 serviceB)。 ServiceA是一个java应用程序,serviceB是一个缓存。我希望始终将这些服务一起扩展(特定主机上每个服务的一个副本)并配置它们,以便它们始终与同一主机上的组件通信(serviceA 从同一主机与 serviceB 通信)而不使用 docker swarm域名系统。
最初我在 docker compose 中创建了两个服务并使用了网络别名,但这并不能确保同一主机上的组件之间的共置和通信。
version: '3.1'
services:
serviceA:
...
deploy:
replicas: 3
network:
testnetwork:
aliases: ["serviceA"]
serviceB:
...
deploy:
replicas: 3
network:
testnetwork:
aliases: ["serviceB"]
networks:
testnetwork:
driver: overlay
到目前为止我只能找到豆荚状的。看这里:https://github.com/rycus86/podlike
IMO Docker swarm 应该为此引入一个“pod”概念。复杂的分布式系统中有很多需求。