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 ...