Docker本地部署RocketMq

匿名 (未验证) 提交于 2019-12-03 00:03:02

部署流程

前期准备

本地环境:
macOS 10.14.6
docker

1.拉取官方镜像
docker pull rocketmqinc/rocketmq

成功拉取可以看到对应镜像:

2.运行docker容器

运行nameserver:

docker run -d -p 9876:9876 -v `pwd`/data/namesrv/logs:/root/logs -v `pwd`/data/namesrv/store:/root/store --name rmqnamesrv  rocketmqinc/rocketmq sh mqnamesrv

运行broker:

docker run -d -p 10911:10911 -p 10909:10909 -v `pwd`/data/broker/logs:/root/logs -v `pwd`/data/broker/store:/root/store --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf

注意点:

  1. /opt/rocketmq-4.4.0/conf/broker.conf 为容器内对应配置文件的路径
  2. 为避免端口不可访问的情况,要记得关掉防火墙
  3. 通过docker跑起来的broker,其cluster地址默认为docker的ip,外网无法访问需要更改其ip,具体操作见下文。

注意点3操作流程:

  1. 进入容器内,修改配置文件
docker exec -it broker容器id /bin/sh 进入到容器后:     vi /opt/rocketmq-4.4.0/conf/broker.conf     broker.conf文件内新增brokerIP1属性,即:     brokerIP1 = 本机外网ip地址     修改完成后保存退出
  1. 重启容器
docker container restart broker容器id  // 注:前文运行broker命令中的 -c /opt/rocketmq-4.4.0/conf/broker.conf, 即表示使用此配置文件

至此,rocketmq的nameserver和broker就已经在本地部署完成了

3.部署可视化界面

1.拉取rocketmq-console镜像

docker pull styletang/rocketmq-console-ng

2.运行rocketmq-console

docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=本机外网ip:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8001:8080 -t styletang/rocketmq-console-ng

3.查看主页
http://localhost:8001

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!