通过 Docker Compose 快速部署RocketMQ 服务

以下内容介绍了如何通过 Docker Compose 快速部署一个单节点、单副本的 RocketMQ 服务,并完成简单的消息发送和接收。Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 YAML 文件 (docker-compose.yml) 来配置应用程序的服务,然后使用一个命令就可以启动所有服务。

分步解析

1. 编写 docker-compose.yml

以下是用于快速启动和运行 RocketMQ 集群的模板:

version: '3.8'
services:
  namesrv:
    image: apache/rocketmq:5.3.2
    container_name: rmqnamesrv
    ports:
      - 9876:9876
    networks:
      - rocketmq
    command: sh mqnamesrv
  broker:
    image: apache/rocketmq:5.3.2
    container_name: rmqbroker
    ports:
      - 10909:10909
      - 10911:10911
      - 10912:10912
    environment:
      - NAMESRV_ADDR=rmqnamesrv:9876
    depends_on:
      - namesrv
    networks:
      - rocketmq
    command: sh mqbroker
  proxy:
    image: apache/rocketmq:5.3.2
    container_name: rmqproxy
    networks:
      - rocketmq
    depends_on:
      - broker
      - namesrv
    ports:
      - 8080:8080
      - 8081:8081
    restart: on-failure
    environment:
      - NAMESRV_ADDR=rmqnamesrv:9876
    command: sh mqproxy
networks:
  rocketmq:
    driver: bridge
  • Namesrv:RocketMQ 的名称服务器(Name Server),负责维护主题路由信息。
  • Broker:消息队列服务的核心组件,负责存储消息并提供消息收发接口。
  • Proxy:作为代理层,提供给客户端接入使用,可以减轻 Broker 直接面对大量客户端的压力。
2. 启动 RocketMQ 集群

执行以下命令来根据 docker-compose.yml 文件启动所有定义的服务:

docker-compose up -d
  • -d 参数表示在后台运行容器。
3. 停止所有服务

当你完成测试或不再需要运行这些服务时,可以通过下面的命令停止并移除所有由 Docker Compose 管理的容器和服务:

docker-compose down

这将停止所有相关的容器并将它们从当前运行环境中移除,但不会删除已创建的数据卷和网络,除非特别指定。

总结

通过上述步骤,你可以非常方便地搭建一套基于 Docker 的 RocketMQ 环境,非常适合开发测试阶段使用。这种方式简化了手动部署每个组件的过程,并且通过 Docker Compose 可以很容易地管理整个应用生命周期,包括启动、停止和清理环境。这对于想要快速体验 RocketMQ 功能或是进行相关开发工作的开发者来说是非常有帮助的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lang20150928

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值