社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

从Docker容器中的本地主机使用者连接到本地主机Kafka代理时发生端口绑定错误

Tom • 5 年前 • 1414 次点击  

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/44149
 
1414 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Tom
Reply   •   1 楼
Tom    6 年前

所以经过一番挖掘,我找到了一些选择。 (注:我在Mac上,所以2可能不适用于所有人)。

  1. 包括 --network=host docker run 命令(如图所示 here )。
  2. 不要改变 码头工人 命令,而是连接到 host.docker.internal:9092 在容器使用者/发布者代码中。如所见 here .

我无法让1帮我解决问题(我肯定是用户错误)。但是2工作得很好,只需要在容器内部更改配置即可。