使用Docker容器部署rocketmq单机的全过程

目录
  • 查询镜像
  • 拉取镜像
  • 创建namesrv数据存储路径
  • 构建namesrv容器
  • 创建broker数据存储路径
  • 创建broker配置文件
  • broker.conf 内容如下:
  • 构建broker容器
  • 构建rocketmq-console-ng

查询镜像

docker search rocketmq
NAME                                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
foxiswho/rocketmq                    rocketmq                                        69
rocketmqinc/rocketmq                 Image repository for Apache RocketMQ            54
styletang/rocketmq-console-ng        rocketmq-console-ng                             37
apacherocketmq/rocketmq              Docker Image for Apache RocketMQ                21
apache/rocketmq     

拉取镜像

docker pull foxiswho/rocketmq:server    #mq-server
...
docker pull foxiswho/rocketmq:broker    #mq-broker
...
docker pull styletang/rocketmq-console-ng   #客户端
...

创建namesrv数据存储路径

mkdir -p /var/local/docker/rocketmq/namesrv/store /var/log/docker/rocketmq/namesrv

构建namesrv容器

docker run -d \
--restart=always \
--name rmqnamesrv \
-p 9876:9876 \
-v /var/log/docker/rocketmq/namesrv:/var/log \
-v /var/local/docker/rocketmq/namesrv/store:/var/store \
-e "MAX_POSSIBLE_HEAP=100000000" \
foxiswho/rocketmq \
sh mqnamesrv

创建broker数据存储路径

mkdir -p /var/local/docker/rocketmq/broker/store /var/log/docker/rocketmq/broker

创建broker配置文件

mkdir -p /etc/docker/rocketmq/conf
touch broker.conf
vi broker.conf

broker.conf 内容如下:

vim /docker/rocketmq/conf/broker.conf
# 所属集群名称,如果节点较多可以配置多个
brokerClusterName = DefaultCluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName = broker-a
#0表示Master,大于0表示不同的slave
brokerId = 0
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen = 04
#在磁盘上保留消息的时长,单位是小时
fileReservedTime = 48
#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;
brokerRole = ASYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType = ASYNC_FLUSH
# 设置broker节点所在服务器的ip地址
brokerIP1 = 192.168.1.1  # 注意:改成你的IP地址

构建broker容器

docker run -d \
--restart=always \
--name rmqbroker \
--link rmqnamesrv:namesrv \
-p 10911:10911 \
-p 10909:10909 \
-v /var/local/docker/rocketmq/broker/store:/var/store \
-v /var/log/docker/rocketmq/broker:/var/logs \
-v /etc/docker/rocketmq/conf/broker.conf:/etc/rocketmq/conf/broker.conf \
-e "NAMESRV_ADDR=namesrv:9876" \
-e "MAX_POSSIBLE_HEAP=200000000" \
foxiswho/rocketmq:broker \
sh mqbroker -c /etc/rocketmq/conf/broker.conf

构建rocketmq-console-ng

docker run -d \
--name rmqconsole \
-p 8180:8080 \
--restart=always \
--link rmqserver:namesrv \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-t styletang/rocketmq-console-ng

到此这篇关于使用Docker容器部署rocketmq单机的文章就介绍到这了,更多相关Docker部署rocketmq内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker阿里云RocketMQ 4.5.1部署流程详解

    搜索镜像 docker search rocketmq 查看镜像版本 如果要查看其它的镜像,只需要将其中的镜像名称foxiswho/rocketmq替换为其它镜像即可 curl https://registry.hub.docker.com/v1/repositories/foxiswho/rocketmq/tags\ | tr -d '[\[\]" ]' | tr '}' '\n'\ | awk -F: -v image='foxiswho/rocketmq' '{if(NR!=NF &

  • Docker 部署RocketMQ的详细操作

    拉取镜像 docker search rocketmq docker pull foxiswho/rocketmq:4.8.0 启动NameServer docker run -d --name rmqnamesrver -e "JAVA_OPT_EXT=-Xms512M -Xmx512M -Xmn128m" -p 9876:9876 foxiswho/rocketmq:4.8.0 sh mqnamesrv 启动Broker 创建挂在目录 mkdir -p /data/docker/r

  • Docker rocketmq部署的实现示例

    目录 准备工作 部署过程 初体验 rocketmq 相关问题 帮助文档 最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑. 准备工作 在搭建之前,我们需要做一些准备工作,这里我们需要使用 docker 搭建服务,所以需要提前安装 docker.此外,由于 rocketmq 需要部署 broker 与 nameserver ,考虑到分开部署比较麻烦,这里将会使用 docker-compose. rocketmq 架

  • 使用Docker容器部署rocketmq单机的全过程

    目录 查询镜像 拉取镜像 创建namesrv数据存储路径 构建namesrv容器 创建broker数据存储路径 创建broker配置文件 broker.conf 内容如下: 构建broker容器 构建rocketmq-console-ng 查询镜像 docker search rocketmq NAME DESCRIPTION STARS OFFICIAL AUTOMATED foxiswho/rocketmq rocketmq 69 rocketmqinc/rocketmq Image rep

  • 关于docker容器部署redis步骤介绍

    目录 1 redis配置文件 2 docker命令启动 3 docker-compose启动 1 redis配置文件 官方下载:redis.conf 路径:在容器中,一般可以保存在/etc/redis/redis.conf 路径中 配置文件详解,根据实际情况进行修改: # 这里的bind指的是只有指定的网段才可以访问redis,注释后则没有这个限制 # bind 127.0.0.1 # 默认端口为6379 port 6379 # daemonize表示是否以守护进程进行执行,容器中执行必须设置成

  • Docker容器部署consul的详细步骤

    目录 Consul简介 Consul 使用场景 -consul部署- 容器服务自动加入consul集群 安装Gliderlabs/Registrator Gliderlabs/Registrator 测试服务发现功能是否正常 安装consul-template 安装nginx 配置并启动template Consul简介 Consul 是一个支持多数据中心分布式高可用的 服务发现 和 配置共享 的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public Li

  • SpringBoot项目docker容器部署实现

    目录 一.修改docker.service,使其暴露2375端口 二.netstat -tulp查看端口情况 三.添加依赖 四.在idea中 Settings->Docker配置远程docker的地址 五.配置Dockerfile文件 六.配置docker容器以及镜像等相关信息 七.启动顺序 八.测试访问 一.修改docker.service,使其暴露2375端口 使用命令: vi /lib/systemd/system/docker.service 在ExecStart=*******后加入如

  • Docker容器部署前端Vue服务(小白教程)

    目录 需要工具 首先对前端项目进行打包:npm run build 在项目文件夹下编写nginx config配置文件 在项目文件夹下编写Dockerfile文件 构建docker镜像 启动docker容器 查看启动的容器 访问 需要工具 Xftp Xshell 首先对前端项目进行打包:npm run build 打包完成 在项目中生成dist文件: 通过Xshell在/home目录下创建项目文件夹 mkdir xxxx(文件名) 通过Xftp将打包的dist文件上传到服务器的项目文件夹下: 利

  • 使用Docker容器部署Vue程序

    目录 一.安装Nginx 二.创建Vue程序 1.创建项目 2.编译项目 3.添加Dockerfile文件 4.上传文件 5.构建镜像 6.运行容器 一.安装Nginx 我们部署Vue程序依赖Nginx,首先拉取Nginx的镜像,这里使用Nginx最新的镜像 docker pull nginx 如图所示 我们查看镜像 已经有了nginx镜像. 我们根据nginx镜像运行容器 docker run --name=nginx -d -p 4030:80 nginx 如图所示 然后在浏览器里面访问40

  • 使用Docker容器部署MongoDB并支持远程访问及遇到的坑

    目录 前言 Docker & MongoDB Docker MongoDB 使用Docker部署MongoDB 容器中换源 更改配置 开放端口 前言 由于使用宝塔面板来配置MongoDB的BUG太多,实在受不了,今天心血来潮想要使用Docker容器来进行部署.本来以为也就二三十分钟的事情结果踩坑踩了将近两个小时,不过万幸还是成功部署上了 Docker & MongoDB 在开始讲之前,我们需要知道Docker和MongoDB是什么,虽然这两个工具已经非常流行,但可能还是有读者不知道其详细概

  • .net 4.5部署到docker容器的完整步骤

    前言 本文主要给大家介绍了关于.net 4.5部署到docker容器的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 .net4.5部署到docker容器 部署到windows容器 部署到linux容器 部署到windows容器 由于.net本身就是运行在windows平台的,所以它与windows容器也是更加适合,你可以以iis镜像为基础,去编写你的Dockerfile文件,从而去构建你的.net项目镜像. 1.两个现成的例子 .net console程序 docke

  • docker容器源码部署httpd用存储卷部署网站(推荐)

    目录 docker容器源码部署httpd,用存储卷部署网站 创建一个httpd镜像 部署nfs 挂载 创建容器并映射 访问测试 docker容器源码部署httpd,用存储卷部署网站 创建一个httpd镜像 // 创建一个httpd容器 [root@localhost ~]# docker run -tid --name httpd centos 2d693e16f4f3734b127cbae90d189c1b4e78619a54ceec912a82d96cf4f1c345 [root@local

  • 把数据库部署在docker容器内有哪些缺陷

    前言 近2年Docker非常的火热,各位开发者恨不得把所有的应用.软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗? 这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程,小编整理了一些数据库不适合容器化的原因供大家参考,同时也希望大家在使用时能够谨慎一点. 目前为止将数据库容器化是非常不合理的,但是容器化的优点相信各位开发者都尝到了甜头,希望随着技术的发展能够更加完美的解决方案出现. Docker不适合部署数据库的7大原因 1.数据安全问题 不要将数据储存在

随机推荐