docker-compose部署rocketmq

部署rocketmq

docker-compose安装:

1.从github上下载docker-compose二进制文件安装

​ Ubuntu下载docker-compose文件

复制代码
sudo curl -L https://github.com/docker/compose/releases/download/1.27.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

​ CentOs下载docker-compose文件

复制代码
curl -L https://github.com/docker/compose/releases/download/1.27.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2.添加可执行权限
复制代码
chmod +x /usr/local/bin/docker-compose
2.测试安装结果
复制代码
docker-compose --version
3.手动下载

官网选择版本 https://github.com/docker/compose/releases 选择相应版本,下载docker-compose-Linux-x86_64到本地或者服务器中 更名为docker-compose,并移动到 /usr/local/bin 目录下

1,新建挂载目录:
复制代码
mkdir -p /my/config/rocketmq/
mkdir -p /my/rocketmq/broker-logs/
mkdir -p /my/rocketmq/broker-store/
mkdir -p /my/rocketmq/logs/
mkdir -p /my/rocketmq/logs/

2,pull相关的镜像:

复制代码
docker pull foxiswho/rocketmq:server-4.5.2
docker pull foxiswho/rocketmq:broker-4.5.2
docker pull styletang/rocketmq-console-ng

3,编写broker.conf:

复制代码
cd /my/config/rocketmq/
vim broker.conf

内容为:

复制代码
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
autoCreateTopicEnable = true
# 如果是本地程序调用云主机 mq,这个需要设置成 云主机 IP
brokerIP1=<your ip>
namesrvAddr=<your ip>:9876

4,编写docker-compose.yaml:

复制代码
cd /my/rocketmq
vim docker-compose.yaml

内容为:

复制代码
version: '3.5'
services:
  rmqnamesrv:
    image: foxiswho/rocketmq:server-4.5.2
    container_name: rmqnamesrv
    ports:
      -  9876:9876
    volumes:
      - /my/rocketmq/logs:/opt/logs
      - /my/rocketmq/store:/opt/store
    networks:
        rmq:
          aliases:
            - rmqnamesrv

  rmqbroker:
    image: foxiswho/rocketmq:broker-4.5.2
    container_name: rmqbroker
    ports:
      - 10909:10909
      - 10911:10911
    volumes:
      - /my/rocketmq/broker-logs:/root/logs/rocketmqlogs
      - /my/rocketmq/broker-store:/opt/store
      - /my/config/rocketmq/broker.conf:/etc/rocketmq/broker.conf
    environment:
        NAMESRV_ADDR: "rmqnamesrv:9876"
        JAVA_OPTS: " -Duser.home=/opt"
        JAVA_OPT_EXT: "-server -Xms128m -Xmx128m -Xmn128m"
    command: mqbroker -c /etc/rocketmq/broker.conf
    depends_on:
      - rmqnamesrv
    networks:
      rmq:
        aliases:
          - rmqbroker

  rmqconsole:
    image: styletang/rocketmq-console-ng
    container_name: rmqconsole
    ports:
      - 8087:8080
    environment:
        JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
    depends_on:
      - rmqnamesrv
    networks:
      rmq:
        aliases:
          - rmqconsole

networks:
  rmq:
    name: rmq
    driver: bridge

4,在/my/rocketmq下运行:

复制代码
docker-compose up
#关闭
docker-compose down

检查docker容器:

复制代码
docker ps
相关推荐
mit6.8241 小时前
论容器化 | 分析Go和Rust做医疗的后端服务
docker·golang·rust
东风微鸣2 小时前
Python 脚本最佳实践2025版
docker·云原生·kubernetes·可观察性
不知疲倦的仄仄3 小时前
2025最新版Docker讲解/面试/命令/容器化技术
运维·docker·容器
哈里谢顿6 小时前
修改并重新部署docker项目流程
docker
小咪一会8 小时前
速学 RocketMQ
学习·rocketmq·java-rocketmq
code喵喵8 小时前
docker-compose安装常用中间件
docker·中间件·容器
山岚的运维笔记8 小时前
AlpineLinux使用docker部署prometheus
docker·容器·prometheus
咚咚?9 小时前
docker 启动中间件
docker·中间件·容器
csdn_aspnet10 小时前
在 Docker 上安装和配置 Kafka、选择用于部署 Kafka 的操作系统
docker·kafka
乌托邦的逃亡者15 小时前
Docker的/var/lib/docker/目录占用100%的处理方法
运维·docker·容器