我有一个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服务器在不绑定新端口的情况下侦听该新端口?