rocketmq的docker-compose方式部署

2023-11-4 16:32

明明用官方的image就可以直接部署出来,不知道为啥网上都是用第三方image

我用的是windows的docker desktop,使用方式和linux是一样的,配置也可以一样

官方的rocketmq docker的网址在这里 https://github.com/apache/rocketmq-docker,里面的templates是全部的模板文件,修改一下模板文件就可以直接使用。方法如下

 

第一步,新建一个文件夹,比如 d:\rocketmq\

第二部,在这个文件夹下新建如下目录结构 "data\broker\conf"(和 https://github.com/apache/rocketmq-docker 的templates目录结构一样的)

第三步,新建配置文件 d:\rocketmq\data\broker\conf\broker.conf 内容如下

brokerClusterName = DefaultCluster
brokerName = broker-abc
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = 10.0.0.173

 

第四步,新建 d:\rocketmq\docker-compose.yml 配置文件,内容如下

version: '2'
services:
  #Service for nameserver
  namesrv:
    image: apache/rocketmq:4.9.6
    container_name: rmqnamesrv
    ports:
      - 9876:9876
    volumes:
      - ./data/namesrv/logs:/home/rocketmq/logs
    command: sh mqnamesrv

  #Service for broker
  broker:
    image: apache/rocketmq:4.9.6
    container_name: rmqbroker
    links:
      - namesrv
    ports:
      - 10909:10909
      - 10911:10911
      - 10912:10912
    environment:
      - NAMESRV_ADDR=namesrv:9876
    volumes:
      - ./data/broker/logs:/home/rocketmq/logs
      - ./data/broker/store:/home/rocketmq/store
      - ./data/broker/conf/broker.conf:/opt/rocketmq-4.9.6/conf/broker.conf
    command: sh mqbroker -c /opt/rocketmq-4.9.6/conf/broker.conf

  #Service for dashboard
  dashboard:
    image: apacherocketmq/rocketmq-dashboard:latest
    container_name: rmqdashboard
    links:
      - namesrv
    ports:
      - 8080:8080
    environment:
      - JAVA_OPTS= -Drocketmq.namesrv.addr=namesrv:9876

 

第五步,打开命令行,进入到 d:\rocketmq\ ,不熟悉dos命令的可以参考如下命令

d:
cd \rocketmq\

 

第六步,执行如下命令

docker-compose up -d

下面是我的执行结果

D:\tools\rocketmq>docker-compose up -d
[+] Running 1/1
 ✔ dashboard Pulled                                                                                                5.3s
[+] Running 4/4
 ✔ Network rocketmq_default  Created                                                                               0.7s
 ✔ Container rmqnamesrv      Started                                                                               1.4s
 ✔ Container rmqdashboard    Started                                                                               3.0s
 ✔ Container rmqbroker       Started                                                                               4.0s

 

执行完成后,可以查看下容器运行状态,没有问题的话打开浏览器输入 http://localhost:8080 进入dashboard。可以看到有一个集群,新建一个topic之后向topic发送消息测试一下,全部成功。

点击:loading..
收藏到:中国收客网
评论

  • 千秋万世风
    需要注意 broker.conf 里的brokerIP1 需要改成自己主机电脑的ip地址,这个忘记写了
    2023/11/4 16:53:54