开发者社区 > 云原生 > 云消息队列 > 正文

RocketMQ在docker部署apache/rocketmq:5.1.0 怎么配置能外网连接?

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

展开
收起
游客6poszk7nfmalm 2023-07-23 20:10:09 656 0
2 条回答
写回答
取消 提交回答
  • 要在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
    
    2023-07-28 09:51:41
    赞同 展开评论 打赏
  • 看看4.4是咋个设置的网络模式,5.1.0 可以设置local模式看看。
    在dashboard上看到的IP应该是broker心跳给namesrv的ip,默认取的当前ip,好像也不是brokerip1.
    设置local模式应该可以取到那个公网ip 。
    ——此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-07-23 20:24:09
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 相关电子书

    更多
    Apache Flink技术进阶 立即下载
    Apache Spark: Cloud and On-Prem 立即下载
    Hybrid Cloud and Apache Spark 立即下载