Как позволить различным контейнерам Docker общаться друг с другом, не открывая порты всему миру
Мне нужно было проверить мойkafka
потребитель и сообщения запускаются в контролируемой среде. Итак, я сделалansible
проект для создания некоторого макетаkafka
серверы:mokafelk.
Работает нормально, кроме безопасности это дерьмо.playbook
раскручивает 3-узелdockerized
kafka
кластер по умолчанию, но порты прослушивания на серверах kafka доступны всем. Вотjinja2
шаблон изDockerfile
используется для создания кластера.
По сути, я хочу, чтобы контейнеры могли общаться друг с другом. Я не думаю, что связывание с контейнером - это вариант, потому что, как мне кажется, связывание является только односторонним. Но выставляя порт используя127.0.0.1:{{ port }}:{{ port }}
только открывает порт для хост-машины и не открывает порт для других контейнеров, если я прав.0.0.0.0:{{ port }}:{{ port }}
выставляет порт на весь мир. Так как же я могу связать два контейнера + в обе стороны? Это должно быть распространенной проблемой, но я не могу найти быстрое решение ...