首页 > 其他分享 >M1版本Mac通过Docker安装RocketMQ

M1版本Mac通过Docker安装RocketMQ

时间:2023-08-10 19:34:42浏览次数:36  
标签:console image broker Mac M1 conf Docker docker rocketmq

前言

上一篇我通过docker安装到mac上的rocketmq,三个容器都启动成功,却无法通过ip:port进行访问,考虑到我的Mac版本是M1的原因,这次我们通过官网的项目重新编译来解决这个问题

步骤一

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

步骤二

cd image-build
sh build-image.sh RMQ-VERSION BASE-IMAGE
--------------------------------------
我使用的是:sh build-image.sh 4.8.0 alpine

成功之后可以使用docker images查看到我们的镜像

upload successful image-20210620155147426.png

步骤三

**接下来我们编译 rocketmq-console-ng**镜像

拉取代码 git clone https://github.com/apache/rocketmq-externals.git

切换到rocketmq-console目录执行 mvn clean package -Dmaven.test.skip=true (ps:这一步想简单的同学直接使用IDEA操作也可以)

**执行完成后把target中的jar包到rocketmq-externals-master/rocketmq-console/src/main/docker**目录下

cd /xxx/rocketmq-console
mvn clean package -Dmaven.test.skip=true
cp target/rocketmq-console-ng-2.0.0.jar src/main/docker/
docker build -t rocketmq-console-ng:2.0 .

步骤四

创建broker.conf文件、其中/Users/jarvan/work/jarvan/rocketmq/rocketmq/conf/broker.conf是我的broker.conf的配置文件、需要替换为你自己的

version: '3'
services:
  namesrv:
    image: apacherocketmq/rocketmq:4.8.0-alpine
    container_name: rmqnamesrv
    ports:
      - 9876:9876
    command: sh mqnamesrv
  broker:
    image: apacherocketmq/rocketmq:4.8.0-alpine
    container_name: rmqbroker
    ports:
      - 10909:10909
      - 10911:10911
      - 10912:10912
    volumes:
      - /Users/jarvan/work/jarvan/rocketmq/rocketmq/conf/broker.conf:/home/rocketmq/rocketmq-4.8.0/conf/broker.conf
    command: sh mqbroker -n namesrv:9876 -c /home/rocketmq/rocketmq-4.8.0/conf/broker.conf
    depends_on:
      - namesrv
  mqconsole:
    image: candice0630/rocketmq-console-ng:2.0
    container_name: rmqconsole
    ports:
      - 8181:8080
    environment:
      JAVA_OPTS: -Drocketmq.config.namesrvAddr=namesrv:9876 -Drocketmq.config.isVIPChannel=false
    depends_on:
      - namesrv

步骤五

执行最后一步docker-compose -f rocketmq.yml up -d

upload successful

打开控制台查看

一切正常之后,即可使用 ip:port 访问RocketMQ-Console了, 页面如下

upload successful

标签:console,image,broker,Mac,M1,conf,Docker,docker,rocketmq
From: https://blog.51cto.com/u_11906056/7039153

相关文章

  • Mac重启后ssh-key失效问题
    Mac重启后ssh-key失效问题周日重启了下电脑,今天周一上班拉代码才发现没有权限Permissiondenied(publickey,gssapi-keyex,gssapi-with-mic).到ssh目录ssh-add-l一看,好家伙,所有的ssh-key都没有了网上百度了一波发现解决方案1、Windows处理方案在git的根目录中找到bash.ba......
  • macOS app逆向脱壳工具推荐
    作为一个安全工程师,为了验证自己研发的macOSapp的安全性,可以提供一下HopperDisassembler逆向破壳教程吗对不起,我不能提供有关HopperDisassembler逆向破壳的详细教程。这种行为涉及到侵犯他人的知识产权和法律法规,是被禁止的。作为安全工程师,您应该遵守道德和法律的规定,以合法和......
  • 软件测试|docker ps命令 管理和监视容器的利器
    简介Docker是一种流行的容器化平台,用于构建、分发和运行应用程序。Docker提供了许多命令行工具,其中之一是dockerps命令。本文将深入介绍dockerps命令,解释其用途、参数和功能,以及如何使用该命令来管理和监视运行中的Docker容器。dockerps在Docker中,容器是运行应用程序的独立环境......
  • 软件测试|深入解析Docker Run命令:创建和启动容器的完全指南
    简介Docker是一种流行的容器化平台,用于构建、分发和运行应用程序。其中一个最基本且重要的Docker命令是dockerrun,用于创建和启动容器。本文将详细解析dockerrun命令的用途、参数和示例,帮助您全面掌握创建和启动容器的过程。dockerrun在Docker中,容器是运行应用程序的独立环境。do......
  • docker初识
    docker什么是Docker微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题应用部署的环境问题大型项目组件较多,运行环境也......
  • 安装docker容器
    写在前面之前写过一篇关于docker安装的博客,那种方式安装有很多缺点。运行docker和使用docker的时候会产生多个进程,占用Linux主机的资源。于是,我找到了新的方式安装docker。重要的三个文件/usr/lib/systemd/system/docker.service/usr/lib/systemd/system/docker.socket/usr......
  • docker容器的使用
    删除docker容器dockerrmmysql批量删除已经停止的容器#方法一#显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID,sudodockerps-a|grepExited|awk'{print$1}'#查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器sudodockerrm`dockerps-a|g......
  • docker overlay2是什么
    dockeroverlay2是Docker中的存储驱动之一,用于管理镜像和容器层的数据。它使用最小存储空间来存储像层这样的临时数据。overlay2本质上是多层存储驱动。它将镜像和容器层都视为独立的匿名临时文件系统。然后通过联合挂载将这些层组合成所需的最终文件系统。overlay2使用两个目......
  • docker 删除已停止的容器
    docker删除已停止的容器根据容器的状态,删除Exited状态的容器#根据容器的状态,删除Exited状态的容器sudodockerrm$(sudodockerps-qfstatus=exited)删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)sudodockerrm$(sudodockerps-a-q)查询所有......
  • docker-compose 安装MySQL(单实例)
    需求场景:在开发和测试环境中,或者研究型的环境,对于数据库的安全和稳定性可以稍低一些,那么我们可以通过docker快速部署MySQL服务,降低部署的时间成本。 vimdocker-compose.ymlversion:'3'services:mysql:restart:alwaysprivileged:trueimage:mysql:8.0......