Al intentar que N microservicios (contenedores en docker) se interconectaran entre sí estando en dos servidores diferentes (servidor A y servidor B) no encontré realmente una solución que no fuera compleja.
Mis contenedores del servidor A se encontraban en una misma red (Dentro de Docker), por lo que no se podían comunicar con los contenedores del servidor B.
docker run -P --name contenedor-1 --network mi-red -d mi-image:v1
Al ejecutar nuestros contenedores como se muestra en el código anterior, estos se encontrarán en una red interna dentro de Docker, por lo que al intentar la comunicación entre un contenedor del servidor A con uno del servidor B no se logrará con éxito, esto es porque internamente los contenedores se mandan a llamar entre sí a través de un nombre, por ejemplo, contenedo-3:PUERTO, por lo que el contenedor foráneo se estará buscando dentro de la misma red (mi-red).
Para solucionar este problema la forma sencilla es simplemente usar la red del host en lugar de crear una red interna en Docker.
docker run -P --name contenedor-1 --network host -d mi-image:v1
Con esto lo que le decimos a Docker es que los contenedores serán expuestos a la red del servidor, ahora ya pueden ser invocados mediante la dirección IP del servidor, por ejemplo 192.168.58.2:PUERTO. De esta forma nuestros microservicios ya se encontrarán conectados entre sí.