1. 搜索RocketMQ镜像:
docker search rocketmq //选择apache/rocketmq版本
2. 下载RocketMQ镜像:
docker pull apache/rocketmq
3. 运行RocketMQ镜像:
docker run -d -p 9876:9876 --name rmqnamesrv \ -v /work/rocketmq/data/namesrv/logs:/root/logs \ -v /work/rocketmq/data/namesrv/store:/root/store \ apache/rocketmq:latest \ sh mqnamesrv
命令解释:
-p 端口映射到宿主机
--name 命名镜像
-v /work/rocketmq/data/namesrv/logs:/root/logs 映射日志文件夹到宿主机文件夹方便查看
-v /work/rocketmq/data/namesrv/store:/root/store 映射文件夹到宿主机文件夹方便查看
sh mqnamesrv 调用镜像内置命令启动nameServer
4. 安装broker:
docker run -d --restart=always --name rmqbroker \ --link rmqnamesrv:namesrv \ -p 10911:10911 -p 10909:10909 --privileged=true \ -v /work/rocketmq/data/broker/logs:/root/logs \ -v /work/rocketmq/data/broker/store:/root/store \ -v /work/rocketmq/conf/broker.conf:/opt/docker/rocketmq/broker.conf \ -e "NAMESRV_ADDR=namesrv:9876" \ -e "MAX_POSSIBLE_HEAP=200000000" \ apache/rocketmq sh mqbroker -c /opt/docker/rocketmq/broker.conf
命令解释:
-p 端口映射到宿主机
--name 命名镜像
--link 把上面启动的nameserver 链接到到这个启动的镜像,防止写死ip后ip发生变化启动不了(类似linux的软连接)
-v /work/rocketmq/data/broker/logs:/root/logs 映射日志文件夹到宿主机文件夹方便查看
-v /work/rocketmq/data/broker/store:/root/store 映射文件夹到宿主机文件夹方便查看
/work/rocketmq/conf/broker.conf:/opt/docker/rocketmq/broker.conf 映射broker配置文件到宿主机方便修改配置文件
-e "NAMESRV_ADDR=namesrv:9876" 设置环境变量
-c /opt/docker/rocketmq/broker.conf 指定启动broker的配置文件
sh mqbroker 调用镜像内置命令启动broker
至此mq安装完成
5. 查找rocketmq控制台镜像:
docker search rocketmq-console-ng
6. 下载rocketmq控制台镜像:
docker pull rocketmq-console-ng
7. 运行rocketmq控制台镜像:
docker run -d -p 10100:8080 --name rmqconsole \ --link rmqnamesrv:namesrv \ -e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876 \ -Dcom.rocketmq.sendMessageWithVIPChannel=false" \ styletang/rocketmq-console-ng
8. 访问页面:http://0.0.0.0:10100
9. 服务器需要开启端口:10100,9876,10909,10911
10. 登录界面:
参考:https://www.jianshu.com/p/5add5b123aab