Como permitir que diferentes contêineres do Docker se comuniquem sem expor as portas ao mundo inteiro
Eu precisava testar meukafka
acionadores de consumidor e mensagem em um ambiente controlado. Então eu fiz umansible
projeto para criar alguns mockkafka
servidores:mokafelk.
Funciona bem, exceto que a segurança é uma merda. oplaybook
gira um nó de 3dockerized
kafka
por padrão, mas as portas de atendimento nos servidores kafka estão expostas a todos. Aqui está ojinja2
modelo doDockerfile
usado para criar o cluster.
Basicamente, quero que os contêineres possam conversar entre si. Não acho que a vinculação de contêiner seja uma opção, porque me parece que a vinculação é apenas de mão única. Mas expor uma porta usando127.0.0.1:{{ port }}:{{ port }}
só expõe a porta à máquina host e não expõe a porta aos outros contêineres se eu estiver correto.0.0.0.0:{{ port }}:{{ port }}
expõe a porta para o mundo inteiro. Então, como eu poderia vincular dois + contêineres nos dois sentidos? Este deve ser um problema comum, mas não consigo encontrar uma solução rápida ...