Rocketmq 4.2.0 基于Docker构建镜像

一:环境准备:


Centos7,Dokcer18.03.1-ce

官方项目地址:https://github.com/apache/incubator-rocketmq-externals 里面有rocketmq的docker运行文档

二:克隆官方项目到本地宿主机:


git clone https://github.com/apache/rocketmq-externals.git

主要用到rocket-docker中的脚本,分别为rocket4.0.0和4.1.1的dockerfile,镜像构建,和镜像运行脚本,如图:
这里写图片描述
这里写图片描述


注意:克隆下来的脚本都是不够权限的 执行chmod+x 脚本名 给予执行权限


如下分别为namesrv和broker的镜像构建脚本(通过其目录下的DockerFile构建)

sudo docker build –build-arg version=4.2.0 -t apache/incubator-rocketmq-namesrv:4.2.0 .

sudo docker build –build-arg version=4.2.0 -t apache/incubator-rocketmq-broker:4.2.0 .

下面这两条制定指令为namesrv和broker的运行指令

sudo docker run -d -p 9876:9876 -v /data/conf:/opt/conf -v /opt/logs:/opt/logs -v /opt/store:/opt/store –name rmqnamesrv -e “JAVA_OPT_EXT=-server -Xms128m -Xmx256m -Xmn128m” apache/incubator-rocketmq-namesrv:4.2.0

>

sudo docker run -d -p 10911:10911 -p 10909:10909 -v /data/conf/rocketmq-conf/conf:/opt/rocketmq-4.2.0/conf -v /opt/logs:/opt/logs -v /opt/store:/opt/store –name rmqbroker -e “NAMESRV_ADDR=192.168.60.128:9876” -e “JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m” apache/incubator-rocketmq-broker:4.2.0

可以看到这里我的rocketmq版本都是4.2.0 的dockerfile,构建脚本,和启动脚本的 所以我是基于4.0.0的基础上改dockerfile和构建脚本和启动脚本。其中有几个需要注意的点:


这里写图片描述

这里写图片描述

  • ENV ROCKETMQ_VERSION 4.2.0这里改成我们的rocketmq版本

  • ENV ROCKET_HOME /opt/rocketmq4.2.0 这里同样改成我们的版本

  • dockerfile里的那个rocketmq-all-4.2.0-bin-release.zip的下载路径变了,所以得根据实际的下载地址更改

https://dist.apache.org/repos/dist/release/rocketmq/4.2.0/(正确地址)

  • dockerfile中的EXPOPOSE和VOLUME:分别为端口映射和挂载数卷路径(配置集群的话根据情况进行修改)

  • 设置时区,因为容器里的时间会不对

改完后的namesrv和broke的Dockerfile如下图:
这里写图片描述

这里写图片描述

三:运行dockerfile构建脚本和运行脚本(或者输入上面步骤二的指令)


  • ./docker_build.sh和./docker_run.sh

  • 输入指令:docker images 可以看到生成的相应的namesrv和broker镜像
    这里写图片描述

  • 输入 docker ps -a 可以看到所有的docker容器 指令 docker ps 指令查看正在运行的所有docker容器
    这里写图片描述

  • 指令 docker exec -it 容器ID bash进入容器内进行操作

四:rocketmq控制台 (操作很简单)


1:拉取镜像

docker pull styletang/rocketmq-console-ng

2:创建容器

docker run -e “JAVA_OPTS=-Drocketmq.namesrv.addr=127.0.0.1:9876
-Dcom.rocketmq.sendMessageWithVIPChannel=false” -p 8001:8080 -t styletang/rocketmq-console-ng

3、打开控制台(界面很炫酷) 本地请访问:localhost:8001
这里写图片描述

结尾:完整的Dockerfile,docker-compose.yml和使用说明可在这里有完整的Dockerfile和docker-compose.yml可以看到.

注:刚去官方的Github上面看到已经有rocketmq4.2.0相关的Dockerfile
由于本人写的文档是几个月前的存档,现在才想着记录一下.

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值