首页 > 其他分享 >docker-compose配置rocketmq5.1.4

docker-compose配置rocketmq5.1.4

时间:2024-03-28 22:23:59浏览次数:25  
标签:compose broker conf namesrv docker rocketmq5.1 nameserver rocketmq

在学习roketmq期间,先自己搭建一套rocketmq的运行环境至关重要!

因此就有了以下这篇博客

先安装docker和docker-compose,这里认为你已经会了

根据需要,先创建一个网络

docker network create rockermq

编写docker-compose.yml文件

version: "3"
networks:
  default:
      # 网络
    name: rockermq
    external: true
volumes:
  # 具名挂载数据卷:nameserver配置文件
  namesrv_conf:
  # 具名挂载数据卷:broker配置文件
  broker_conf: 
services:
  #Service for nameserver
  namesrv:
    container_name: RocketMQ-namesrv
    # 使用apache的镜像(这个镜像实际上没有做太多优化,直接jdk8+rocketmq5.1.4)
    image: apache/rocketmq:5.1.4
    # 启动命令
    command: sh mqnamesrv
    # 容器自动重启
    restart: always
    # 端口暴露
    ports:
      # 默认端口9876
      - 9876:9876
    environment:
      # 按照jdk8方式配置内存大小,看自己需求,这里只是为了学习如何使用rocketmq,因此配置的内存小了一下,不过够用了
      - JAVA_OPT_EXT=-Xms512m -Xmx2048m 
    volumes:
      # 使用具名挂在方式,将rocketmq的nameserver配置挂载出来
      - namesrv_conf:/home/rocketmq/rocketmq-5.1.4/conf


  #Service for broker
  # 部署一个broker即可,学习阶段,先跑起来,后期可以搭建HA环境
  broker:
    container_name: RocketMQ-broker
    depends_on:
      # 保证先启动了nameserver后,再启动broker
      - namesrv
    image: apache/rocketmq:5.1.4
    # 这里需要指定broker.conf文件,目的是配置ip,由于我们使用docker容器技术,broker向nameserver注册的时候,使用了容器中的内网ip,这个是访问不到的,因此,需要配置成自己的公网ip
    command: sh mqbroker -n namesrv:9876 -c /home/rocketmq/rocketmq-5.1.4/conf/broker.conf
    restart: always
    ports:
      - 10909:10909
      # 用于通信的 Broker 端口,这个最重要
      - 10911:10911
      - 10912:10912
    environment:
      # 注册到的nameserver地址
      - NAMESRV_ADDR=namesrv:9876
      # 按照jdk8方式配置内存大小
      - JAVA_OPT_EXT=-Xms512m -Xmx2048m
    volumes:
      # 将broker的配置文件挂载出来
      - broker_conf:/home/rocketmq/rocketmq-5.1.4/conf
  # 图形化界面
  dashboard:
    image: apacherocketmq/rocketmq-dashboard:latest
    container_name: RocketMQ-dashboard
    ports:
      # 访问端口
      - 8080:8080
    environment:
     - JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876  
    depends_on:
      # 保证broker先启动起来
      - broker

接下来,找到broker具名挂载出来的broker.conf文件,添加公网ip,这样,我们访问docker容器中的nameserver,nameserver给我们返回的broker ip才会是公网ip

# 添加一行
brokerIP1=<公网ip>

重启容器,保证broker.conf文件配置被加载

 

标签:compose,broker,conf,namesrv,docker,rocketmq5.1,nameserver,rocketmq
From: https://www.cnblogs.com/wancker/p/18102754

相关文章

  • 新机器安装docker (新手笔记)-- 知其所以然
    1.安装Docker-2024.03.28官方手册清华大学开源软件镜像站|可从主页找到Docker资源#AddDocker'sofficialGPGkey:sudoapt-getupdatesudoapt-getinstallca-certificatescurlsudoinstall-m0755-d/etc/apt/keyringssudocurl-fsSLhttps://download.docker......
  • docker 创建mysql:8
    最后修改时间2024-03-28docker查找mysql:8.0.20sudodockersearchmysql:8.0.20docker拉mysql:8.0.20sudodockerpullmysql:8.0.20创建mysql:8.0.20相关文件夹和文件mkdir/home/ubuntu/mysqlmkdir/home/ubuntu/mysql/logmkdir/home/ubuntu/mysql/datamkdir/home/ub......
  • Docker in Docker:揭秘原理,实战带你飞
    随着容器技术的兴起,Docker成为了开发者和运维人员的得力助手。而DockerinDocker(DinD)则是容器技术中的一项高级用法,它允许我们在Docker容器内部运行另一个Docker实例。本文将带你深入了解DinD的原理,并通过实战案例让你轻松上手。一、DockerinDocker:原理探秘DockerinD......
  • docker--Dockerfile (三)
    1,Dcockerfile是什么docker推荐使用dockerfile的定义文件和dockerbuild命令来构建镜像。dockerfile使用基本的基于DSL(面向领域语言)语法的指令来构建Docker镜像。另一种创建Docker镜像的方式是使用dockercommit,不推荐使用。2,dockerfile的基本组成dockerfile有一系列指令和......
  • docker常用命令
    最后修改时间2024-03-28操作系统Linuxversion5.15.0-86-generic(buildd@lcy02-amd64-086)(gcc(Ubuntu11.4.0-1ubuntu1~22.04)11.4.0,GNUld(GNUBinutilsforUbuntu)2.38)#96-UbuntuSMPWedSep2008:23:49UTC2023一些docker常用指令查看镜像列表sudodocker......
  • docker 安装jenkins和gitlab
    安装jenkins#下载镜像dockerpulljenkins/jenkins#创建文件夹mkdir-p/home/jenkins_home#权限chmod777/home/jenkins_home#启动dockerrun-d-uroot-p9095:8080-p50000:50000--namejenkins-v/home/jenkins_home:/var/jenkins_home-v/etc/localtime:/etc......
  • docker创建nginx
    操作系统Linuxversion5.15.0-86-generic(buildd@lcy02-amd64-086)(gcc(Ubuntu11.4.0-1ubuntu1~22.04)11.4.0,GNUld(GNUBinutilsforUbuntu)2.38)#96-UbuntuSMPWedSep2008:23:49UTC2023查找nginx1.24sudodockersearchnginx:1.24拉nginx1.24sudodock......
  • docker search xxx出现报错:docker 报错Error response from daemon: x509:
    问题可能出现在daemon.json配置文件1、打开此文件:vi/etc/docker/daemon.json,把境像地址换成:https://docker.mirrors.ustc.edu.cn  2、然后重启服务器:reboot(或者重启docker使用daemon.json配置文件生效也行)  重启后可以成功搜索了,随便搜索个tomcat吧:dockersearch......
  • Docker镜像批量导出和导入脚本
    批量导出#!/bin/bash#设置导出镜像的目录EXPORT_DIR="/root/images"#确保导出目录存在mkdir-p"$EXPORT_DIR"#获取所有的镜像并导出IMAGES=$(dockerimages--format'{{.Repository}}:{{.Tag}}')#遍历所有的镜像forIMAGEin$IMAGES;......
  • Composer常见错误解决
    Composer是PHP中用于管理依赖关系的工具,常用于安装、更新和管理PHP项目中的第三方库和包。在使用Composer的过程中,可能会遇到一些常见的错误,下面列举几种常见的错误以及解决方法:1.缺少依赖关系或包无法找到错误描述:在运行composerinstall或composerupdate时,Composer报告......