Cada docker-machine (host do swarm) tem uma rede 172.17.0.0/16 para comunicação interna. Assim, quando o professor faz o inspect no serviço de um host para usar o IP no ping a partir de outro host, na verdade não estava pingando um alpine no outro, o alpine estava pingando a si mesmo.
Exemplo:
- O serviço alpine subiu em duas réplicas e dei inspect em cada uma das docker-machine e, em ambas, a respostas foi a mesma:
"IPAddress": "172.17.0.2",
Então, a pergunta não tem resposta, porque não é por nome e também não é por IP que se faz a comunicação com ingress/overlay. Até agora ainda está obscura a comunicação entre serviços de docker-machines distintas porque estão em redes distintas.