¿Pueden (o deberían) 2 contenedores acoplables interactuar entre sí a través de localhost?

Estamos acoplando nuestra aplicación de micro servicios y me encontré con algunos problemas de descubrimiento.

La aplicación está configurada de la siguiente manera:

Cuando un servicio se inicia en modo 'no local', utiliza Consul como su registro de descubrimiento. Cuando un servicio se inicia en modo 'local', vincula automáticamente una dirección por servicio (por ejemplo, tcp: // localhost: 61001, tcp: // localhost: 61002, etc. Direcciones codificadas)

Después de dockerizar la aplicación (solo para el modo local, por ahora) cada servicio es un contenedor (imágenes Docker orquestadas con docker-compose. Y con docker-machine, si eso importa) Pero un servicio no puede interactuar con otro servicio ya que no son en la misma máquina y tcp: // localhost: 61001 obviamente no funcionará.

Usando docker-compose conEnlaces y especificar localhost como un alias (servicio: localhost) no funcionó. ¿Hay alguna forma para que 2 contenedores "compartan" el mismo localhost?

Si no, ¿cuál es la mejor manera de abordar esto? Pensé en usar un nombre de host específico por servicio, y luego especificar el nombre de host en la sección de enlaces de docker-compose. (Pero dudo que esta sea la solución elegante) ¿O tal vez use una versión dockizada de Consul e integre con ella?

Esta publicación:¿Cómo compartir localhost entre dos contenedores Docker diferentes? proporcioné algunas ideas sobre por qué no se debe molestar a localhost, pero todavía estoy bastante desconcertado sobre cuál es el enfoque correcto aquí.

¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta