我正在我的上运行 Kafka 服务器本地机器在端口 9092 上。
我正在运行一项服务使用 docker-compose 的 docker 容器需要向kafka服务器发送消息。
我尝试使用“localhost”和 IP 在服务代码中编写我的生产者,但两者都不起作用。
谁能帮我解决这个问题?
使用 docker-compose:
使用network_mode选项允许连接到本地主机端口
network_mode: "host"
没有 docker-compose:
使用 --net 标志允许连接到本地主机端口
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)