docker - 从 Docker 容器中的 localhost Consumer 连接到 localhost Kafka 代理时出现端口绑定错误
问题描述
我有一个 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
我可以通过 将 Docker 容器映射到不同的端口-p XXX:9090
,但是如何让本地 Kafka 服务器监听该新端口而不绑定到它?
解决方案
推荐阅读
- python - 您如何在 CSV 文件的标题栏中写入内容?
- java - 如果方法参数是原始 int,那么方法内循环内的 myArrayList.contains(primitiveArg) 效率极低还是可以?
- node.js - 运行-p:找不到命令
- ajax - 如何使用 Ajax 将数据传递给 Django 中的模式?
- html - 检测缺少引用者的``请求的源域
- php - 从 REST API 端点显示符号名称
- python - Python pywin32 - VK_SLEEP 按下不工作
- angularjs - AngularJS 指令 $scope.$watch 用于两种方式绑定不起作用
- woocommerce - 如果应用优惠券,WooCommerce 会增加费用
- mysql - 使用 join、distinct、count 和 where 的复杂 SQL 请求