一、Docker 版本
二、查看可安装的版本
docker search rocketmq
三、拉取
# namesrv服务
docker pull foxiswho/rocketmq:server-4.4.0
# broker节点
docker pull foxiswho/rocketmq:broker-4.4.0
# rockermq-console服务
docker pull pangliang/rocketmq-console-ng
四、查看本地镜像
docker images
五、创建挂载目录或文件
宿主机位置 | 容器位置 |
/usr/local/rocketmq/server/logs | /opt/logs |
/usr/local/rocketmq/server/store | /opt/store |
/usr/local/rocketmq/broker/conf/broker.conf | /etc/rocketmq/broker.conf |
/usr/local/rocketmq/broker/logs | /opt/logs |
/usr/local/rocketmq/broker/store | /opt/store |
# 所属集群名称,如果节点较多可以配置多个
brokerClusterName=DefaultCluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName=rocket-mq-broker
#0表示Master,大于0表示不同的slave
brokerId=0
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen=04
#在磁盘上保留消息的时长,单位是小时
fileReservedTime=48
#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;
brokerRole=ASYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType=ASYNC_FLUSH
# 设置broker节点所在服务器的ip地址
brokerIP1=124.70.66.158
# Broker 对外服务的监听端口
listenPort 8897
六、运行server服务 和 broker 容器
# 启动 rocketMq server
docker run -d \
--restart=always \
--privileged=true \
--name rocket-mq-server \
-p 8898:9876 \
-v /usr/local/rocketmq/server/logs:/opt/logs \
-v /usr/local/rocketmq/server/store:/opt/store \
-e "MAX_POSSIBLE_HEAP=100000000" \
foxiswho/rocketmq:server-4.4.0
# 启动 rocketMq broker
docker run -d \
--restart=always \
--name=rocket-mq-broker \
--privileged=true \
--link rocket-mq-server:namesrv \
-p 8897:8897 \
-p 8896:10909 \
-p 8895:10912 \
-v /usr/local/rocketmq/broker/conf/broker.conf:/etc/rocketmq/broker.conf \
-v /usr/local/rocketmq/broker/logs:/opt/logs \
-v /usr/local/rocketmq/broker/store:/opt/store \
-e "NAMESRV_ADDR=namesrv:8898" \
-e "MAX_POSSIBLE_HEAP=200000000" \
foxiswho/rocketmq:broker-4.4.0
# 启动 rocketmq-console
docker run -d \
--restart=always \
--name rocket-mq-admin \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=**.**.**.**:8898 \
-Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-p 8894:8080 \
pangliang/rocketmq-console-ng
七、访问 http://**.**.**.**:8894/#/cluster 查看是否成功
注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!