docker - Docker 上的 Kafka 无法从其他容器连接

标签 docker apache-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并查看“测试”主题

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

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

最佳答案

好的,似乎让它工作的唯一方法是将我机器的当前 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

关于docker - Docker 上的 Kafka 无法从其他容器连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51140186/

相关文章:

azure - 如果我们不在应用程序设置中指定密码,Azure Linux 应用服务上的 docker 是否可以使用 ACR 进行身份验证?

docker - 如何通过编辑器在容器Docker中编辑文件

apache-kafka - 在 Docker 容器中运行 Kafka 集群?

node.js - KafkaJS 生产者 ssl 证书

docker - 容器优化操作系统 (Docker) 上的 SSL 证书

docker - 使用 Docker + Kitura,但不在 Mac 上

Docker swarm 尝试解析我的 compose 文件中 ENV 变量的值(因为它有一个 go 模板)并给我一个错误

apache-kafka - 添加额外的 Schema Registry 层会影响好处吗?

apache-kafka - 我可以为replication.factor 和min.insync.replicas 使用相同的编号吗?

java - 消费者连接到哪个分区?