RocketMQ在docker部署apache/rocketmq:5.1.0 怎么配置能外网连接?[阿里云消息队列MQ]

RocketMQ在docker部署的时候 apache/rocketmq:5.1.0 怎么配置能外网连接?我在相同的配置情况下rocketmqinc/rocketmq :4.4.0 就能外网连接。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 要在Docker中部署Apache RocketMQ 5.1.0并使其能够进行外网连接,您需要进行以下配置:

    1. 修改broker.conf文件:在您的RocketMQ容器中,找到 conf/broker.conf 文件。编辑该文件,并将 brokerIP1 参数设置为您的Docker主机的公网IP地址。

    brokerIP1=your_public_ip

    1. 配置防火墙规则:确保您的Docker主机上的防火墙允许来自外部网络的RocketMQ流量通过。您需要打开以下端口:
    • NameServer监听端口(默认为9876)
    • Broker监听端口(默认为10911)

    具体步骤和命令可能因不同的操作系统和防火墙软件而有所不同。请参考您所使用操作系统和防火墙的相关文档,了解如何配置防火墙规则以允许外部访问。

    1. 暴露端口:在您运行RocketMQ容器时,使用 -p 参数将RocketMQ的NameServer和Broker端口映射到宿主机的对应端口。这样,您可以通过宿主机的公网IP地址和映射的端口来进行外部访问。

    例如,可以使用以下命令来运行RocketMQ容器:

    docker run -d -p 9876:9876 -p 10911:10911 apache/rocketmq:5.1.0
  2. 看看4.4是咋个设置的网络模式,5.1.0 可以设置local模式看看。
    在dashboard上看到的IP应该是broker心跳给namesrv的ip,默认取的当前ip,好像也不是brokerip1.
    设置local模式应该可以取到那个公网ip 。
    ——此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”