我在Docker容器中运行Kafka。 Kafka需要连接到Zookeeper,因此我在另一个容器中运行Zookeeper。我在OSX上运行Docker,因此我的VM具有IP地址:192.168.99.99
。
我无法弄清楚的是,如何更新我的Kafka Docker安装以指向在其自己的独立Docker容器内运行的Zookeeper实例,即IP地址为192.168.99.9
和端口{{1 }}?
Kafka有一个名为2181
的配置文件,其属性为server.properties
我可以设置,但我希望动态覆盖此值,而不是在此硬编码IP。我如何实现这一目标?
而且,作为一个额外的问题,我希望我的Docker文件可以在OS上运行 - 所以无论我做什么都应该在Linux上工作..
答案 0 :(得分:0)
您不需要在该配置文件中设置ip:
通过docker-compose v2(docker 1.10+),创建了一个桥接网络,这意味着两个容器都在该网络中并相互看到。
请点击“Networking in Compose”了解更多信息。
如果Zookeeper暴露其端口2181,Kafka的配置文件只能通过其容器名称引用zookeeper。
这将适用于任何docker(Mac上的boot2docker或Linux上的本机docker)