Cómo permitir que diferentes contenedores Docker se comuniquen entre sí sin exponer los puertos al mundo entero

Necesitaba probar mikafka consumidor y desencadenantes de mensajes en un entorno controlado. Entonces hice unansible proyecto para crear un simulacrokafka servidores:mokafelk.

Funciona bien, excepto que la seguridad es una mierda. losplaybook hace girar un nodo 3dockerized kafka clúster de forma predeterminada, pero los puertos de escucha en los servidores kafka están expuestos a todos. Aquí esta lajinja2 modelo delDockerfile utilizado para crear el clúster.

Básicamente quiero que los contenedores puedan comunicarse entre sí. No creo que la vinculación de contenedores sea una opción porque me parece que la vinculación es solo unidireccional. Pero exponer un puerto usando127.0.0.1:{{ port }}:{{ port }} solo expone el puerto a la máquina de alojamiento y no expone el puerto a los otros contenedores si estoy en lo correcto.0.0.0.0:{{ port }}:{{ port }} expone el puerto a todo el mundo. Entonces, ¿cómo podría vincular dos contenedores + en ambos sentidos? Esto debe ser un problema común, pero parece que no encuentro una solución rápida ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta