docker - apache Kafka 如何使用 Docker 编写而不使用 Docker 桥连接 Docker 容器中的localhost:9092

  显示原文与译文双语对照的内容
83 2

我在端口 9092上的本地机器上运行 Kafka 服务器。 使用 docker-compose compose compose Docker 容器运行一个服务,需要将消息发送给 Kafka 服务器。

我尝试用'localhost'和IP编写我的生产程序代码,但是两者都不工作。

谁能帮我解决这个问题?

时间: 原作者:

50 2

使用docker编写的费用:

使用network_mode选项允许连接到本地主机端口


network_mode:"host"



不含docker的收费:

使用--net标志允许连接到本地主机端口


docker run -it --net=host



你也可以使用--network标志

 
--network="host"



 

根据官方 Docker 文档,这些"让容器完全访问本地系统服务( 如总线),因此被认为不安全。"

当然,如果你使用containerise上运行的服务,则可以在容器中运行,并且使用--link标志将两个 Docker 容器链接在一起:


docker run -t -d myService


docker run -t -d --link myService:myService_ref myOtherService



...