我在本地计算机上的端口9092上运行Kafka服务器。我正在使用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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句