我需要测试一下我的大脑 kafka
受控环境中的使用者和消息触发器。所以我做了一个 ansible
创建一些模拟的项目 kafka
服务器:mokafelk。
它工作得很好,只是安全性很差。这个 playbook
旋转一个3节点
dockerized kafka
默认情况下为群集,但kafka服务器上的侦听端口对所有端口公开。这是你的答案 jinja2
模板 Dockerfile
用于创建群集。
基本上,我希望容器能够相互对话。我不认为容器链接是一种选择,因为在我看来链接只是单向的。但是使用 127.0.0.1:{{ port }}:{{ port }}
如果正确的话,只将端口暴露给主机,不将端口暴露给其他容器。 0.0.0.0:{{ port }}:{{ port }}
向全世界展示港口。那么我怎样才能双向链接两个+容器呢?这一定是一个常见的问题,但我似乎没有找到一个快速的解决办法。。。
1条答案
按热度按时间unftdfkk1#
docker容器联网的详细说明如下:https://docs.docker.com/engine/userguide/networking/dockernetworks/
简而言之:
默认情况下,docker守护程序将网络适配器docker0添加到主机系统(它尝试猜测可用ip,通常使用172.17.0.1)。你可以从中看到这一点
$ ifconfig
.默认情况下,所有容器都以增量IP连接到此网络。您可以通过检查容器网络设置
$ docker inspect <container name>
.因此,docker集群的IP很可能如下所示:
Kafka1 172.17.0.2
Kafka2 172.17.0.3
Kafka3 172.17.0.4
ElasticSearch172.17.0.5
Kibana172.17.0.6
然后,您可以通过主机系统和容器访问您的kafka,访问时间分别为172.17.0.2:9092、172.17.0.3:9092、172.17.0.4:9092。