我有两台机器的 Docker 群,并启动了一个具有两个副本的服务:
$ docker service create --replicas 2 --name myservice --network ingress alpine:latest sleep 1d
现在我有两个容器myservice.1.<some_nonce>
,myservice.2.<other_nonce>
它们位于不同的机器上,能够按照预期通过覆盖网络进行通信。
问题是如何让实例彼此可发现。例如,myservice.1
应该有一种myservice.2
无需知道 nonce 即可发现的方法。
内部DNS只能解析名称myservice
,而不能解析特定的任务。