Docker上的Kafka无法从其他容器连接
嗨,我正在使用Spotify/Kafka,我正在用它运行它Docker上的Kafka无法从其他容器连接,docker,apache-kafka,Docker,Apache Kafka,嗨,我正在使用Spotify/Kafka,我正在用它运行它 docker run-name ka-p 9092:9092-p 2181:2181-env advised_HOST=localhost-env advised_PORT 2181-net mynet spotify/kafka 我确保使用相同的网络运行第二个容器,并且可以使用ka.mynet ping Kafka容器 同样在第二个容器中,我下载了卡夫卡和它的shell脚本,我能够做一个 /kafka-topics.sh-zookee
docker run-name ka-p 9092:9092-p 2181:2181-env advised_HOST=localhost-env advised_PORT 2181-net mynet spotify/kafka
我确保使用相同的网络运行第二个容器,并且可以使用ka.mynet ping Kafka容器
同样在第二个容器中,我下载了卡夫卡和它的shell脚本,我能够做一个
/kafka-topics.sh-zookeer ka.mynet-list
并查看“测试”主题
现在,任何生产或消费的尝试都会产生错误。制片人抱怨与找不到领导者有关
其他谷歌搜索让我相信这与广告中的主持人有关 好的,看来唯一可行的方法是将我机器的当前IP地址指定为播发的\u HOST env变量 因此,如果我的机器的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
FWIW,对于最新的卡夫卡版本,请看您是否在卡夫卡出现之前等待?您可以共享docker文件或撰写文件吗?嘿@cricket_007我想使用apache kafka和您链接的doco谈论Windows上的docker机器,我认为不再需要,现在有一个“docker for Windows”选项,但感谢您的回复。@ShankarShastri我在这里使用这个docker文件:再次,Spotify Kafka不运行最新的Kafka。这是我的主要观点。不,Docker机器仍然存在,建议在Linux机器之外使用,因为
net=host
选项在其他地方不起作用。但是,这并不能阻止您尝试从不需要硬编码的主机运行这些容器,您也可以尝试这样做:`advised_HOST=docker machine ip`docker machine active`
`docker run-p 2181:2181-p 9092:9092--env advised_HOST=docker machine ip`docker machine active`
--env advised_PORT=9092 spotify/kafka@ShankarOP在评论中说他们没有使用Docker机器