我有一个zookeeper在端口2181(默认)上运行,还有一个kafka服务器在本地机器上监听端口9090。
当我在本地运行kafka cli或在本地运行消费者/生产者应用程序时,连接没有问题。
然后,我尝试将卡夫卡消费者捆绑到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服务器绑定到9092,如
nmap -p 9092 localhost
:
PORT STATE SERVICE
9092/tcp open XmlIpcRegSvc
我可以通过
-p XXX:9090
,但如何使本地kafka服务器在不绑定到新端口的情况下侦听该端口?