加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何使用docker-compose从docker容器连接到localhost:9092而不

发布时间:2020-12-16 03:42:37 所属栏目:安全 来源:网络整理
导读:我在端口9092上的本地计算机上运行Kafka服务器. 我正在使用docker-compose在docker容器中运行一个服务,它需要向kafka服务器发送消息. 我尝试使用localhost和IP在服务代码中编写我的生产者,但两者都不起作用. 任何人都可以帮我解决这个问题吗? 最佳答案 使用

我在端口9092上的本地计算机上运行Kafka服务器.
我正在使用docker-compose在docker容器中运行一个服务,它需要向kafka服务器发送消息.

我尝试使用’localhost’和IP在服务代码中编写我的生产者,但两者都不起作用.

任何人都可以帮我解决这个问题吗?

最佳答案
使用docker-compose:

使用network_mode选项允许连接到localhost端口

network_mode: "host"

没有docker-compose:

使用–net标志允许连接到localhost端口

docker run -it --net=host

您还可以使用–network标志

--network="host"

根据官方Docker文档,这些“使容器可以完全访问本地系统服务,例如D-bus,因此被认为是不安全的.”

当然,如果你容纳了在localhost:9092上运行的服务,那么你也可以在Docker容器中运行它,并使用–link标志将两个Docker容器链接在一起:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读