docker 安装 rocketmq 4.7.0
1、下载
直接克隆官方镜像制作文件
# git clone https://github.com/apache/rocketmq-docker.git
[root@localhost rocketmq-docker-master]# ls
CONTRIBUTING.md image-build LICENSE NOTICE product README.md stages stage.sh templates
[root@localhost rocketmq-docker-master]# cd image-build/
[root@localhost image-build]# ls
build-image-dashboard.sh build-image.sh Dockerfile-alpine Dockerfile-centos Dockerfile-centos-dashboard scripts update.sh
2、创建RocketMQ镜像
构建命令: sh build-image.sh RMQ-VERSION BASE-IMAGE
可选RMQ-VERSION
例如: sh build-image.sh 4.7.0 centos (or alpine)
构建时间比较长
//构建完成
Successfully built 128108c2e50d
Successfully tagged apacherocketmq/rocketmq:4.7.1-alpine
[root@localhost image-build]# docker images |grep mq
apacherocketmq/rocketmq 4.7.0 28ce832d84bf 59 minutes ago 533MB
3、生成配置
[root@localhost rocketmq-docker-master]# sh stage.sh 4.7.0
Stage version = 4.7.0
mkdir /root/rocketmq-docker-master/stages/4.7.0
staged templates into folder /root/rocketmq-docker-master/stages/4.7.0
[root@localhost templates]# ls
data docker-compose kubernetes play-consumer.sh play-docker-compose.sh play-docker-dledger.sh play-docker.sh play-docker-tls.sh play-kubernetes.sh play-producer.sh ssl
4、部署方式
1、单机
./play-docker.sh alpine
2、docker-composer
./play-docker-compose.sh
3、kubernetes集群
./play-kubernetes.sh
4、Cluster of Dledger storage(RocketMQ需要4.4.0版本以上)
./play-docker-dledger.sh
5、TLS
./play-docker-tls.sh
./play-producer.sh
./play-consumer.sh
我这里选择的是单机部署,可以看到生成了两个容器
[root@localhost templates]# docker ps |grep mq
9a0a6ab594b7 apacherocketmq/rocketmq:4.7.0 "sh mqbroker" 56 minutes ago Up 56 minutes 0.0.0.0:10909->10909/tcp, :::10909->10909/tcp, 9876/tcp, 0.0.0.0:10911-10912->10911-10912/tcp, :::1091110912->10911-10912/tcp rmqbroker
d8a4db8335de apacherocketmq/rocketmq:4.7.0 "sh mqnamesrv" 56 minutes ago Up 56 minutes 10909/tcp, 0.0.0.0:9876->9876/tcp, :::9876->9876/tcp, 10911-10912/tcp rmqnamesrv
验证RocketMQ启动成功
1、使用命令 docker ps|grep rmqbroker
找到RocketMQ broker的容器id
2、使用命令 docker exec -it 9a0a6ab594b7 ./mqadmin clusterList -n 172.17.0.8:9876
验证RocketMQ broker工作正常
[root@localhost elasticsearch]# docker exec -it 9a0a6ab594b7 ./mqadmin clusterList -n 192.168.1.204:9876
RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.PlatformDependent0).
RocketMQLog:WARN Please initialize the logger system properly.
如需升级执行以下命令
cd image-build
./update.sh
5、安装RocketMQ控制台
//拉取镜像
docker pull apacherocketmq/rocketmq-console:2.0.0
//运行容器,这里172.15.65.xx为宿主机ip
docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=172.15.65.xx:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 6881:8080 -t apacherocketmq/rocketmq-console:2.0.0
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通