是不是找了半天Docker安装RocketMQ没成功?看完这篇还搞不定我去跟哥哥学打篮球

前言

汤姆猫也是找了半天安装教程,发现各个教程有些参数都不一样,再看看评价有些还报错没安装成功。然后也不知道安装新版本有些参数是不是变化了,挂载文件是不是变化了。直到我去docker仓库看rocketmq版本,才发现官网有提供docker安装过程。这下子就不用担心参数版本更新问题了吧,然后我再手把手教仔细到不能仔细了,内容也跟着官网走还搞不定?我立马去跟哥哥学打篮球

我们开始吧

1.获取官网安装文件

Docker仓库地址:
https://registry.hub.docker.com/

搜索 foxiswho/rocketmq 点进去

image.png

往下拉

image.png

说真的,蔡徐坤原来那么好一孩子,当时都被你们黑疯了,真的不明白,何必对他这么大恶意,真心感谢官方

接下来我们复制仓库地址用idea拉下来:https://github.com/foxiswho/docker-rocketmq.git

image.png
image.png

我们来看看目录:

image.png

2.修改官方的安装文件

修改内容:

  • 挂载文件路径
  • 虚拟机内存大小
  • 网络配置
  • 修改启动文件
挂载文件路径

volumes就是-v:配置挂载路径

:前的路径就是我们要挂载到我们服务器的地方, :后的就是要从容器里面拿文件的地方

这里我们修改成我们自定义的路径

image.png
修改虚拟机内存大小

这里修改成你需要的大小,我是学习使用,用的轻量级服务器,都改成128m,这个后面可以修改

image.png
修改网络配置

这个也是官网一直提醒的:

image.png

看着也懵懵懂懂,大概意思就是 Docker是有网络模式的,如果你有创建自己的网络组,把rmqnamesrv、rmqbroker和rmqconsole 三个容器都加到同一个网络组,就不用把 把broker.conf中的 #brokerIP1=192.168.0.253 前面#号去掉。别慌,简单,继续看下来,这也是我们要修改的内容

官网提供的compose文件是新建一个网络组,然后3个docker容器都加到一个网络组,这样3个容器在同一个网络,就可以直接相互请求,不需要开放: brokerIP1=192.168.0.253
image.png

那对于我们有自己的网络组的呢,我们就要加入我们的网络组,修改一下这些:

image.png
修改启动文件

这些看到命令就知道意思了吧,

  • 创建本地的存放文件,路径就是我们前面说到的 volumes : 前的路径
  • 给这些文件夹加权限
image.png

3.开始安装咯,不复杂,别怕,只是严谨操作

首先,格式化一下启动文件,然后执行

给 启动文件 加权限

chmod 777 start.sh

因为我们在windows创建的,linux的文件不同,先格式化一下

sed -i "s/\r//" start.sh

然后运行,内容就是创建我们的存放文件和加权限

./start.sh

image.png
接下来,我们再把配置文件放到我们上面自定义的配置文件路径
image.png

image.png

注意:
为什么这样做的,因为docker的问题,挂载的具体文件要提前在本地创建好,不然docker会生成 成文件夹

接下来就是up compose文件啦

这里是使用docker compose方式,也超级无敌简单,docker compose要提前安装,朋友们搜一下安装就好了,这里就不提供了

docker-compose -f docker-compose.yml up -d

image.png

搞定了

image.png
访问一下测试看看
image.png

完美结束,朋友们还有不懂或者我哪里有问题麻烦私信留言一下,感谢,溜了

我的安装文件

docker-compose.yml:

version: '3.5'

services:
  rmqnamesrv:
    image: foxiswho/rocketmq:4.8.0
#    image: registry.cn-hangzhou.aliyuncs.com/foxiswho/rocketmq:4.7.0
    container_name: rmqnamesrv
    ports:
      - 9876:9876
    volumes:
      - /home/projectData/rocketmq/namesrv/logs:/home/rocketmq/logs
      - /home/projectData/rocketmq/namesrv/store:/home/rocketmq/store
    environment:
      JAVA_OPT_EXT: "-Duser.home=/home/rocketmq -Xms128M -Xmx128M -Xmn128m"
    command: ["sh","mqnamesrv"]
    networks:
      - env_carrynet

  rmqbroker:
    image: foxiswho/rocketmq:4.8.0
#    image: registry.cn-hangzhou.aliyuncs.com/foxiswho/rocketmq:4.7.0
    container_name: rmqbroker
    ports:
      - 10909:10909
      - 10911:10911
    volumes:
      - /home/projectData/rocketmq/broker/logs:/home/rocketmq/logs
      - /home/projectData/rocketmq/broker/store:/home/rocketmq/store
      - /home/projectData/rocketmq/broker/brokerconf/broker.conf:/etc/rocketmq/broker.conf
    environment:
        JAVA_OPT_EXT: "-Duser.home=/home/rocketmq -Xms128M -Xmx128M -Xmn128m"
    command: ["sh","mqbroker","-c","/etc/rocketmq/broker.conf","-n","rmqnamesrv:9876","autoCreateTopicEnable=true"]
    depends_on:
      - rmqnamesrv
    networks:
      - env_carrynet

  rmqconsole:
    image: styletang/rocketmq-console-ng
    container_name: rmqconsole
    ports:
      - 8180:8080
    environment:
        JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
    depends_on:
      - rmqnamesrv
    networks:
      - env_carrynet

networks:
  env_carrynet:
    external: true

start.sh:

#!/usr/bin/env bash

# 创建目录
mkdir -p /home/projectData/rocketmq/namesrv/logs
mkdir -p /home/projectData/rocketmq/namesrv/store
mkdir -p /home/projectData/rocketmq/broker/logs
mkdir -p /home/projectData/rocketmq/broker/store
mkdir -p /home/projectData/rocketmq/broker/brokerconf   #添加配置文件夹

# 设置目录权限
chmod -R 777  /home/projectData/rocketmq/namesrv/logs
chmod -R 777  /home/projectData/rocketmq/namesrv/store
chmod -R 777  /home/projectData/rocketmq/broker/logs
chmod -R 777  /home/projectData/rocketmq/broker/store
chmod -R 777  /home/projectData/rocketmq/broker/brokerconf  #添加配置文件夹

# 下载并启动容器,且为 后台 自动启动
#docker-compose up -d
#
#
## 显示 rocketmq 容器
#docker ps |grep rocketmq
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值