1、系统环境准备
机器:1核2G
软件:确保你已安装docker、git
2、官方镜像生成
# 从github克隆RocketMQ官方代码
git clone https://github.com/apache/rocketmq-docker.git
# 进入到克隆的目录中
cd rocketmq-docker/image-build/
# 执行镜像的构建命令:sh build-image.sh RocketMQ版本 系统镜像
sh build-image.sh 4.9.4 alpine
3、官方镜像修改
#运行并进入容器
docker run -it apache/rocketmq:4.9.4-alpine /bin/bash
# 容器内编辑broker配置文件
vi /home/rocketmq/rocketmq-4.9.4/conf/broker.conf
#在此文件内新增以下信息
brokerIP1 = 宿主机IP地址
namesrvAddr = 宿主机IP地址:9876
4、生成新的镜像
# 编辑变成后exit退出容器,然后将此容器打包为新的镜像
docker commit 容器ID 新的镜像名:镜像标签 #自行更改,例如docker commit 047b12ab360e rocket-4.9.4:v1.0
5、运行namesrv容器
# 创建namesrv的日志目录(用于本地映射)
mkdir /data/rocketmq/namesrv/logs
# 启动namesrv
docker run -d -v /data/rocketmq/namesrv/logs:/home/rocketmq/logs \
--name mqnamesrv \
-e "JAVA_OPT_EXT=-Xms512M -Xmx512M -Xmn128m" \
-p 9876:9876 \
rocket-4.9.4:v1.0 \
sh mqnamesrv
6、运行broker容器
# 创建broker的配置文件目录及日志目录(用于本地映射)
mkdir -p /data/rocketmq/broker/conf /data/rocketmq/broker/logs
# 复制容器内之前修改好的broker的配置文件到本地
docker cp mqnamesrv:/home/rocketmq/rocketmq-4.9.4/conf/broker.conf .
# 启动broker
docker run -d \
--restart=always \
--name mqbroker \
--link mqnamesrv:namesrv \
-p 10911:10911 -p 10912:10912 -p 10909:10909 \
-v /data/rocketmq/broker/logs:/home/rocketmq/logs \
-v /data/rocketmq/broker/conf/broker.conf:/home/rocketmq/rocketmq-4.9.4/conf/broker.conf \
-e "JAVA_OPT_EXT=-Xms512M -Xmx512M -Xmn128m" \
-e "NAMESRV_ADDR=namesrv:9876" \
-e "MAX_POSSIBLE_HEAP=200000000" \
rocket-4.9.4:v1.0 \
sh mqbroker -c /home/rocketmq/rocketmq-4.9.4/conf/broker.conf
7、rocketmq可视化面板安装
docker run -d --name mqconsole -p 8180:8080 --link mqnamesrv:namesrv\
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=宿主机IP:9876\
-Dcom.rocketmq.sendMessageWithVIPChannel=false"\
-t styletang/rocketmq-console-ng