我有两个服务(serviceA和serviceB)。 ServiceA是一个java应用程序,serviceB是一个缓存。我想总是将这些服务一起扩展(特定主机上的每个服务的一个副本)并配置它们以便它们始终与同一主机上的组件通信(serviceA与来自同一主机的serviceB通信)不使用docker swarm DNS。
最初我在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