【发布时间】:2019-05-11 13:13:15
【问题描述】:
我有一个 Zookeeper 在端口 2181(默认)上运行,而 Kafka 服务器在我的本地计算机上的端口 9090 上侦听。
当我在本地运行 kafka CLI 或本地消费者/生产者应用程序时,连接没有问题。
然后我尝试将 Kafka 消费者捆绑到 Docker 容器中,并在本地运行该 Docker 容器,例如:
docker run -p 9092:9092 --rm <DOCKER_IMAGE>
这给出了错误:
(Error starting userland proxy: Bind for 0.0.0.0:9090 failed: port is already allocated.)
这是有道理的,因为 Kafka Server 绑定到 9092,如nmap -p 9092 localhost 所示:
PORT STATE SERVICE
9092/tcp open XmlIpcRegSvc
我可以通过-p XXX:9090 将 Docker 容器映射到不同的端口,但是如何让本地 Kafka 服务器在不绑定的情况下监听该新端口?
【问题讨论】:
标签: docker networking apache-kafka