docker下安装RocketMq

1.拉取镜像

 docker pull rocketmqinc/rocketmq

 

2.创建nameserver

rocketMQ 分为nameserver和broker两部分,在启动时应该先启动nameserver,因此我们现在先创建nameserver的日志和数据存放目录

2.1创建nameserver数据存储目录

 C:\mq\rocketmq\conf  C:\mq\rocketmq\logs    C:\mq\rocketmq\store

logs:是nameserver的日志目录,store:是nameserver的数据目录

2.2 启动rmqnamesrv

docker run -d --restart=always --network mq-net --name rmqnamesrv -p 9876:9876  -v C:\mq\rocketmq\logs:/root/logs  -v C:\mq\rocketmq\store:/root/store  -e "MAX_POSSIBLE_HEAP=100000000"  rocketmqinc/rocketmq  sh mqnamesrv autoCreateTopicEnable=true

------ 参数的一些解释

        -d 以守护进程的方式启动

        -restart=always| docker重启时候容器自动重启

        -name rmqnamesrv | 把容器的名字设置为rmqnamesrv

        -p 9876:9876| 把容器内的端口9876挂载到宿主机9876上面

        -v /docker/rocketmq/data/namesrv/logs:/root/logs | 把容器内的/root/logs日志目录挂载到宿主        机的 /docker/rocketmq/data/namesrv/logs目录

        -v /docker/rocketmq/data/namesrv/store:/root/store | 把容器内的/root/store数据存储目录挂载到宿主机的 /docker/rocketmq/data/namesrv目录

        rmqnamesrv | 容器的名字

        -e “MAX_POSSIBLE_HEAP=100000000” | 设置容器的最大堆内存为100000000

        rocketmqinc/rocketmq | 使用的镜像名称

        sh mqnamesrv | 启动namesrv服务

3.创建broker

3.1broker.conf的修改

# 所属集群名称

brokerClusterName = DefaultCluster

brokerName = broker-a

#0表示Master,大于0表示不同的slave

brokerId = 0

# 删除文件时间点,默认凌晨4点

deleteWhen = 04

# 文件保留时间,默认48小时

fileReservedTime = 48

#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;

brokerRole = ASYNC_MASTER

flushDiskType = ASYNC_FLUSH

# 类似注册中心

namesrvAddr=127.0.0.1:9876

# 当前broker监听的IP(主)  你服务器外网ip 

brokerIP1 = 127.0.0.1

 

3.2 启动broker

docker run -d  --network mq-net --name rmqbroker --link rmqnamesrv:namesrv -p 10911:10911 -p 10909:10909 -v C:\mq\rocketmq\broker\logs:/root/logs -v C:\mq\rocketmq\broker\store:/root/store -v C:\mq\rocketmq\broker\conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000"  rocketmqinc/rocketmq sh mqbroker -c  /opt/rocketmq-4.4.0/conf/broker.conf  

 ------ 参数的一些解释

--link rmqnamesrv:namesrv 和rmqnamesrv容器通信

-p 10911:10911 把容器的非vip通道端口挂载到宿主机

-p 10909:10909 把容器的vip通道端口挂载到宿主机

-e “NAMESRV_ADDR=namesrv:9876” 指定namesrv的地址为本机namesrv的ip地址:9876

-- sh mqbroker -c ../conf/broker.conf 读取../conf/broker.conf配置并启动broker

4.安装dashboard--控制台

4.1 拉取dashboard

docker pull  apacherocketmq/rocketmq-dashboard:latest

4.2 启动

docker run -d --name rocketmq-dashboard -p 9870:8080 --network  mq-net -e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv:9876" -t apacherocketmq/rocketmq-dashboard

 

相关推荐

  1. 使用docker安装RocketMQ

    2024-04-13 09:40:03       12 阅读
  2. RocketMQ之基于Docker安装

    2024-04-13 09:40:03       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-13 09:40:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-13 09:40:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-13 09:40:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-13 09:40:03       20 阅读

热门阅读

  1. 神州数码交换机指令全集

    2024-04-13 09:40:03       17 阅读
  2. Docker 镜像 用普通用户启动服务

    2024-04-13 09:40:03       17 阅读
  3. 部署Nginx+keepalived+Tomcat集群架构

    2024-04-13 09:40:03       40 阅读
  4. 探索Python库的奇妙世界

    2024-04-13 09:40:03       14 阅读
  5. 常见通信方式之Websocket

    2024-04-13 09:40:03       21 阅读
  6. TS基础2-常用类型

    2024-04-13 09:40:03       19 阅读
  7. 【6】c++多线程技术之线程的参数传递

    2024-04-13 09:40:03       19 阅读
  8. docker、ctr、crictl命令对比

    2024-04-13 09:40:03       18 阅读
  9. .net使用谷歌身份验证器

    2024-04-13 09:40:03       12 阅读
  10. MySQL存储过程

    2024-04-13 09:40:03       13 阅读