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发送消息测试一下,全部成功。