Docker部署RabbitMQ镜像的保姆级教程

 更新时间:2024年12月23日 11:44:08   作者:大饼酥  
RabbitMQ 的镜像队列集群(Mirrored Queues Cluster)是实现高可用性的一种模式,它通过在集群中的多个节点之间复制队列,确保消息在集群的某些节点宕机时不会丢失,本文介绍了Docker部署RabbitMQ镜像的保姆级教程,需要的朋友可以参考下

1、创建挂载目录

# 创建宿主机rabbitMQ挂载目录
sudo mkdir -p /data/docker/rabbitmq/log
 
# 修改log目录权限
sudo chmod 777 /data/docker/rabbitmq/log

2、运行RabbitMQ容器

# 拉取镜像
sudo docker pull rabbitmq:4.0.5
 
# 运行容器
sudo docker run --privileged=true --net=bridge \
-d --name=rabbitmq \
-v /data/docker/rabbitmq/data:/var/lib/rabbitmq \
-v /data/docker/rabbitmq/config:/etc/rabbitmq \
-v /data/docker/rabbitmq/log:/var/log/rabbitmq \
-p 15672:15672 -p 5672:5672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin@123 \
rabbitmq:4.0.5

参数解析如下:

参数参数说明
docker run运行 Docker 容器
-d容器将在后台运行,而不是占用当前的终端会话
--privileged=trueDocker会赋予容器几乎与宿主机相同的权限
--net=bridge网络模式配置,默认是bridge,bridge表示使用容器内部配置网络
--name rabbitmq给容器命名为 rabbitmq,以便于管理和引用该容器
-p 15672:15672映射 RabbitMQ 管理页面端口
-p 5672:5672映射 RabbitMQ 消息接收端口
-e RABBITMQ_DEFAULT_USER=admin指定默认的 RabbitMQ 用户名为admin
-e RABBITMQ_DEFAULT_PASS=admin@123 指定默认的 RabbitMQ 密码为admin@123
-v /data/docker/rabbitmq/data:/var/lib/rabbitmq将主机目录挂载到容器内,用于数据持久化
-v /data/docker/rabbitmq/config:/etc/rabbitmq将主机目录挂载到容器内,用于配置文件持久化
-v /data/docker/rabbitmq/log:/var/log/rabbitmq将主机目录挂载到容器内,用于日志文件持久化

容器运行参数详解参考:Docker容器运行常用参数详解_docker_脚本之家

3、Compose运行RabbitMQ容器

创建docker-compose.yml文件

sudo touch /data/docker/rabbitmq/docker-compose.yml

文件内容如下:

version: '3'
 
services:
  rabbitmq:
    image: rabbitmq:4.0.5
    container_name: rabbitmq
    ports:
      # 管理页面端口
      - "15672:15672"
      # 消息接收端口
      - "5672:5672"
    environment:
      # 默认的用户名密码
      RABBITMQ_DEFAULT_USER: admin
      RABBITMQ_DEFAULT_PASS: admin@123
    volumes:
      - /data/docker/rabbitmq/data:/var/lib/rabbitmq
      - /data/docker/rabbitmq/config:/etc/rabbitmq
      - /data/docker/rabbitmq/log:/var/log/rabbitmq
    privileged: true
    network_mode: "bridge"

运行容器

#-f:调用文件,-d:开启守护进程
sudo docker compose -f /data/docker/rabbitmq/docker-compose.yml up -d

4、开启界面插件

进入rabbitMQ容器的控制台,运行以下命令开启界面插件,

rabbitmq-plugins enable rabbitmq_management

5、查看RabbitMQ运行状态

浏览器访问: http://127.0.0.1:15672/,查看rabbitMQ登录页面

6、常见问题处理

问题描述:运行rabbitMQ容器启动失败,报"failed to open log file at '/var/log/rabbitmq/rabbit@f1af52c33ddc.log', reason: permission denied"写入日志文件权限被拒绝。

解决方案:修改宿主机挂载目录/data/docker/rabbitmq/log的权限

sudo chmod 777 /data/docker/rabbitmq/log

到此这篇关于Docker部署RabbitMQ镜像的保姆级教程的文章就介绍到这了,更多相关Docker部署RabbitMQ镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker使用Calico网络模式配置及问题处理方法

    Docker使用Calico网络模式配置及问题处理方法

    这篇文章主要介绍了Docker使用Calico网络模式配置及问题处理,设计思想是Calico不使用隧道或者NAT来实现转发,而是巧妙的把所有二三层流量转换成三层流量,并通过host上路由配置完成跨host转发,需要的朋友可以参考下
    2022-11-11
  • docker Get https://registry-1.docker.io/v2/: net/http: request canceled 报错

    docker Get https://registry-1.docker.io/v2/: 

    本文主要介绍了docker Get https://registry-1.docker.io/v2/: net/http: request canceled 报错,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • SpringCloud与Docker的集成原理解析

    SpringCloud与Docker的集成原理解析

    Docker的核心原理是通过将应用程序及其所有依赖项封装到独立的容器中,实现了跨平台、一致性和可移植性,这篇文章主要介绍了SpringCloud-Docker原理解析,需要的朋友可以参考下
    2024-02-02
  • 修改Docker镜像默认存储位置的方法(解决方法)

    修改Docker镜像默认存储位置的方法(解决方法)

    这篇文章主要介绍了修改Docker镜像默认存储位置的方法,如果上面运行 Docker 服务,经过长时间的使用,会使原本就比较大的分区越来越不够用。如何更好地的处理这个问题呢,本文给出解决方案,需要的朋友一起看看吧
    2021-04-04
  • 关于Docker网络配置及部署SpringCloud项目详解

    关于Docker网络配置及部署SpringCloud项目详解

    这篇文章主要介绍了关于Docker网络配置及部署SpringCloud项目详解,Docker在创建容器时有四种网络模式,bridge为默认不需要去指定,其他三种模式需要在创建容器时使用–net去指定,需要的朋友可以参考下
    2023-07-07
  • Docker 环境 Nacos2 MySQL8的详细操作

    Docker 环境 Nacos2 MySQL8的详细操作

    本文介绍 docker 环境下安装并单机运行 Nacos2,使用 docker 环境下的 MySQL 8 存储数据 ,对Docker 环境 Nacos2 MySQL8相关知识感兴趣的朋友跟随小编一起看看吧
    2022-09-09
  • Docker部署java项目的详细步骤(利用Dockerfile方式)

    Docker部署java项目的详细步骤(利用Dockerfile方式)

    docker可以利用简单的编写程序构建出任何你想要的环境,同时可以跟业务代码相结合,快速构建和生成所需要的应用,下面这篇文章主要给大家介绍了关于Docker部署java项目的详细步骤,本文主要利用的是Dockerfile方式,需要的朋友可以参考下
    2022-08-08
  • Docker私有仓库的搭建和界面化管理详解

    Docker私有仓库的搭建和界面化管理详解

    这篇文章主要给大家介绍了关于Docker私有仓库的搭建和界面化管理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • Docker使用Jumpserver搭建一个安全的堡垒机系统

    Docker使用Jumpserver搭建一个安全的堡垒机系统

    堡垒机作为一种重要的安全工具,能够有效地管理服务器访问权限,并提供会话审计功能,以保障系统的安全性和稳定性,本文将介绍Jumpserver,并指导如何搭建和配置Jumpserver来实现安全的堡垒机管理,需要的朋友可以参考下
    2025-04-04
  • docker-compose中的redis-stack详解

    docker-compose中的redis-stack详解

    Redis是一个开源的内存数据结构存储系统,主要用于数据库、缓存和消息代理,支持多种数据结构,RedisStack则基于Redis,提供栈的操作及扩展功能,适合复杂数据处理,本文给大家介绍docker-compose中的redis-stack,感兴趣的朋友跟随小编一起看看吧
    2024-09-09

最新评论