首页 > 解决方案 > Docker 上的 Kafka 无法从其他容器连接

问题描述

嗨,我正在使用 Spotify/Kafka 并运行它

docker run —name ka -p 9092:9092 -p 2181:2181 —env ADVERTISED_HOST=localhost —env ADVERTISED_PORT 2181 —net mynet spotify/kafka

我确保我使用同一个网络运行我的第二个容器,并且我可以使用 ka.mynet ping Kafka 容器

同样在第二个容器中,我下载了 kafka 和它的 shell 脚本,我可以做一个

./kafka-topics.sh —zookeeper ka.mynet —list 并查看“测试”主题

现在,任何生产或消费的尝试都会吐出错误。制片人抱怨与找不到领导有关。

其他谷歌搜索让我相信它与广告主机有关。

标签: dockerapache-kafka

解决方案


好的,似乎让它工作的唯一方法是将我机器的当前 IP 地址分配为 ADVERTISED_HOST 环境变量。

所以如果我的机器的 IP 是 192.168.1.11 那么:

docker run —name ka -p 9092:9092 -p 2181:2181 —env ADVERTISED_HOST=192.168.1.11 —env ADVERTISED_PORT=9092 —net mynet spotify/kafka

推荐阅读