返回顶部
首页 > 资讯 > 后端开发 > JAVA >RocketMQ Docker部署
  • 708
分享到

RocketMQ Docker部署

javaservlet开发语言 2023-09-20 14:09:16 708人浏览 安东尼
摘要

1. 镜像制作前准备 1 clone RocketMQ-Docker项目的代码 #官方的docker地址git clone https://GitHub.com/apache/rocketMQ-docker.git复制代码 执行上面命令克隆

1. 镜像制作前准备

1 clone RocketMQ-Docker项目的代码

#官方的docker地址git clone https://GitHub.com/apache/rocketMQ-docker.git复制代码

执行上面命令克隆下来这项目的代码。

2. 构建镜像

这里需要构建的镜像有两个

  • rocketmq-dashboard镜像(WEB控制台)
  • rocketmq镜像(NameSrv和Broker)

1 rocketmq镜像构建

cd image-buildsh build-image.sh RMQ-VERSioN BASE-IMAGE复制代码

原理:通过版本和BASE-IMAGE(支持Centos, alpine)来判断是使用 Dockerfile-centos文件还是Dockerfile-alpine文件来构建镜像。

等待镜像构建完成,然后通过docker命令查看

docker image ls复制代码

2 rocketmq-dashboard镜像构建

和构建rocketmq镜像一样,我们依葫芦画瓢构建rocketmq-dashboard镜像

cd image-buildsh build-image-dashboard.sh dashboard-VERSION BASE-IMAGE复制代码

BASE-IMAGE只支持centos

等待镜像构建完成。

docker image ls复制代码

3. Docker-compose 安装

这里为什么用Docker-compose 安装呢?因为RocketMQ的安装的东西有三个部分:namesrv、broker、rocketmq-dashboard ,用Docker-compose安装起来比较方便。

1 环境准备

本地已经有了rocketmq-dashboard镜像和rocketmq镜像

在构建rocketmq-dashboard的时候可以修改Dockerfile-centos-dashboard文件的最后一条命令如:ENTRYPOINT ["java","${JAVA_OPTS}", "-jar", "bin/rocketmq-dashboard.jar"]; 这样构建的镜像可以调节JVM的内存大小.好处就是如果你机器内存小就可以将这个内存设置的小一点

2 RockerMQ 单机部署

2.1 NameSrv的Docker宿主机环境

主要配置的是日志路径以及存储路径。(挂载路径)

mkdir -p /root/rocketmq/data/namesrv/logsmkdir -p /root/rocketmq/data/namesrv/store复制代码

2.2 Broker的Docker宿主机环境

主要创建日志、数据存储、以及配置存放的挂载路径

mkdir -p /root/rocketmq/data/broker/logsmkdir -p /root/rocketmq/data/broker/storemkdir -p /root/rocketmq/etc/broker复制代码

2.3 Broker配置文件创建

nano /root/rocketmq/etc/broker/broker.conf复制代码

文件内容如下:

brokerClusterName = mxsm-dockerbrokerName = mxsm-docker-abrokerId = 0deleteWhen = 04fileReservedTime = 48brokerRole = ASYNC_MASTERflushDiskType = ASYNC_FLUSH# Docker环境需要设置成宿主机IP#brokerIP1 = {docker宿主机IP}brokerIP1 = 192.168.43.128复制代码

例如:在Docker宿主机通过命令查询到的IP地址为 192.168.43.128 那么这个地方就设置为 192.168.43.128

2.4 编写Docker-compose文件

这里编写Docker-compose文件版本使用的3,有的人docker可能版本没这么高,可以使用2看个人调整。

version: '3'services:  #Service for nameserver  namesrv:    image: apacherocketmq/rocketmq:4.9.2    container_name: rocketmq-namesrv    ports:      - 9876:9876    environment:      - JAVA_OPT_EXT=-server -Xms256m -Xmx256m -Xmn256m    volumes:      - /root/rocketmq/data/namesrv/logs:/root/logs    command: sh mqnamesrv  #Service for broker  broker:    image: apacherocketmq/rocketmq:4.9.2    container_name: rocketmq-broker    links:      - namesrv    depends_on:      - namesrv    ports:      - 10909:10909      - 10911:10911      - 10912:10912    environment:      - NAMESRV_ADDR=namesrv:9876      - JAVA_OPT_EXT=-server -Xms512m -Xmx512m -Xmn256m    volumes:      - /root/rocketmq/data/broker/logs:/home/rocketmq/logs      - /root/rocketmq/data/broker/store:/home/rocketmq/store      - /root/rocketmq/etc/broker/broker.conf:/home/rocketmq/conf/broker.conf    command: sh mqbroker -c /home/rocketmq/conf/broker.conf  #Service for rocketmq-dashboard  dashboard:    image: apache/rocketmq-dashboard:1.0.0-centos    container_name: rocketmq-dashboard    ports:      - 8080:8080    links:      - namesrv    depends_on:      - namesrv    environment:      - NAMESRV_ADDR=namesrv:9876复制代码

运行命令:

docker-compose -f ./docker-compose.yml up复制代码

然后查看运行的情况。

在运行的过程中总是发现有这样的一个问题:rocketmq-broker exited with code 253,也没日志打印。这里可能是挂载路径没有权限的问题。加上权限即可。

然后在本地登录web控制台进行验证

4. 总结

  • 总的来说大家可以根据官方的 rocketmq-docker 项目来进行docker部署。这里也存在一些问题,我开始用官方的创建镜像很慢,特别是下载和编译的时候。这里也可以在本地将项目进行编译然后修改一下从本地进行镜像构建。这样构建有一个好处,在本地能够构建正在开发的版本镜像。
  • 官方的Docker-compose没有将rocketmq-dashboard控制台进行运行。

来源地址:https://blog.csdn.net/2301_76607156/article/details/130063183

--结束END--

本文标题: RocketMQ Docker部署

本文链接: https://lsjlt.com/news/413037.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • RocketMQ Docker部署
    1. 镜像制作前准备 1 clone rocketmq-docker项目的代码 #官方的docker地址git clone https://github.com/apache/rocketmq-docker.git复制代码 执行上面命令克隆...
    99+
    2023-09-20
    java servlet 开发语言
  • Docker rocketmq如何部署
    这篇文章给大家分享的是有关Docker rocketmq如何部署的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。准备工作在搭建之前,我们需要做一些准备工作,这里我们需要使用 docker 搭建服务,所以需...
    99+
    2023-06-22
  • Docker 部署RocketMQ的详细操作
    拉取镜像 docker search rocketmq docker pull foxiswho/rocketmq:4.8.0 启动NameServer docker run -d...
    99+
    2024-04-02
  • Docker阿里云RocketMQ 4.5.1部署流程详解
    搜索镜像 docker search rocketmq 查看镜像版本 如果要查看其它的镜像,只需要将其中的镜像名称foxiswho/rocketmq替换为其它镜像即可 cu...
    99+
    2024-04-02
  • 怎么使用Docker容器部署rocketmq单机
    这篇文章主要介绍“怎么使用Docker容器部署rocketmq单机”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Docker容器部署rocketmq单机”文章能帮助大家解决问题。查询镜像do...
    99+
    2023-06-29
  • 使用Docker容器部署rocketmq单机的全过程
    目录查询镜像拉取镜像创建namesrv数据存储路径构建namesrv容器创建broker数据存储路径创建broker配置文件broker.conf 内容如下:构建broker容器构建...
    99+
    2024-04-02
  • Docker部署
    部署Docker   1.部署docker相关 此章描述在新的服务器上安装docker容器。 1.1 概述 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们...
    99+
    2020-05-25
    Docker部署
  • mac M1 arm芯片 进行docker rocketMq 本地部署(亲测可用)
    由于mac arm芯片的问题,导致随便拉取镜像会出现AMD64的警告,如果不想出现则可以 git clone https://github.com/apache/rocketmq-docker.git 拉代码自己编译镜像 下面是根据别人已经...
    99+
    2023-09-06
    macos docker rocketmq
  • 【RocketMQ】RocketMQ 5.1.0版本Proxy集群模式部署实践
    为了支持长远的云原生发展,RocketMQ引入了一个全新的模块:Proxy,官方对RocketMQ客户端提供了独立的开源项目:https://github.com/apache/rocketmq-cl...
    99+
    2023-09-08
    java-rocketmq rocketmq java 云原生
  • Docker----部署mysql
    Docker——Mysql部署 通过docker容器化部署mysql 1.部署mysql (1)执行命令部署mysql docker run -v /work/mysql/:/var/lib/mysq...
    99+
    2023-10-01
    docker mysql 容器
  • docker 部署golang
    前言在现代化的软件开发中,容器化技术越来越受到开发者和企业的关注。其中 Docker 技术就是其中的代表之一。Docker 提供了一种快速、便捷、灵活的应用部署和运行方式,可以大大提高软件开发效率和部署成功率。本文主要介绍如何使用 Dock...
    99+
    2023-05-21
  • docker部署laravel
    知识铺垫 首先拉取官方镜像,标签为 8.2-fpm 使用命令 docker pull php:8.2-fpm 拉取镜像 启动 php 容器 使用命令 docker run --name myphp-fpm -v /root/nginx/w...
    99+
    2023-10-27
    docker laravel php
  • golang docker web部署
    随着互联网的快速发展,对于企业应用程序的部署和管理越来越复杂。而Docker容器技术的出现,可以帮助开发人员大大简化应用程序的部署过程和环境搭建工作。本文将介绍如何使用Go语言和Docker容器技术进行Web应用程序的部署和管理。一、准备工...
    99+
    2023-05-15
  • golang部署到docker
    在当今快速迭代的软件开发环境中,部署应用程序的过程变得越来越自动化和规范化。使用容器技术的一个主要好处是应用程序可以跨不同环境进行部署,并且它们的运行环境可以保持一致。Docker是一种流行的容器化技术,它可以为应用程序提供标准化的运行环境...
    99+
    2023-05-15
  • docker里部署nexus3
    安装方式:直接使用docker拉取官方镜像源码安装dockerfile构建以上使用第一种方式安装,简单快捷,直接拉取镜像然后启动即可。系统环境:系统: Ubuntu 16.04内核: 4.4.0-116-generic安装步骤:安装dock...
    99+
    2023-01-31
    docker
  • docker 部署mysql详细过程(docker部署常见应用)
    之前给大家介绍过:docker(部署常见应用):docker部署nginx docker部署mysql:5.7.26 # 下载镜像 docker pull mysql:5.7.2...
    99+
    2024-04-02
  • Docker部署Minio (服务器上部署Minio)
    Minio简介: MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件...
    99+
    2023-08-18
    docker 服务器 容器 java
  • rocketmq集群部署(多master多slave异步)
    一、最近公司在做队列的技术选型,经过调研,决定使用rocketmq作为整个架构的队列层,我们之前的公司是用RabbitMQ,集群部署参考我之前的文章:RabbitMQ集群部署;rocketmq集群由Name...
    99+
    2024-04-02
  • Docker方式部署TiDB
    安装Docker 1 2 3 4 5 [root@localhost /]# cat /etc/redhat-release  CentOS Linux release 7.5.1804 (Core)  [root@local...
    99+
    2015-12-19
    Docker方式部署TiDB 数据库入门 数据库基础教程 数据库 mysql
  • Docker如何部署Scrapy
    这篇文章将为大家详细讲解有关Docker如何部署Scrapy,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。假设我们要在10台Ubuntu 部署爬虫如何搞之?用传统的方法会吐血的,除非你记录下来每个步骤,然...
    99+
    2023-06-07
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作