当前位置: 首页 > news >正文

Docker部署并启动RabbitMQ

Docker部署并启动RabbitMQ

方式一:

一次性安装镜像并启动容器

docker run -di --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin123 -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 1883:1883 rabbitmq:management
  • 上诉方法可直接配置好MQ并使用图形化界面

方式二:

查询rabbitmq镜像

  • 通过docker语法

    [root@XXXXX ~]# docker search rabbitmq
    NAME                                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    rabbitmq                                    RabbitMQ is an open source multi-protocol me…   4044      [OK]       
    tutum/rabbitmq                              Base docker image to run a RabbitMQ server      22                   
    kbudde/rabbitmq-exporter                    rabbitmq_exporter for prometheus                17                   [OK]
    frodenas/rabbitmq                           A Docker Image for RabbitMQ                     12                   [OK]
    cyrilix/rabbitmq-mqtt                       RabbitMQ MQTT Adapter                           9                    [OK]
    arm64v8/rabbitmq                            RabbitMQ is an open source multi-protocol me…   8                    
    
  • 通过docker hub查询
    在这里插入图片描述

拉取rabbitmq镜像

docker pull rabbitmq


[root@XXX ~]# docker pull rabbitmq
Using default tag: latest
latest: Pulling from library/rabbitmq
7b1a6ab2e44d: Pull complete 
37f453d83d8f: Pull complete 
33be96f1328e: Pull complete 
d3c5c3f5c49a: Pull complete 
a3d2d8a82978: Pull complete 
633da6037b0d: Pull complete 
a619e412c37f: Pull complete 
338c71e3d8cd: Pull complete 
1daa7c79a268: Pull complete 
Digest: sha256:614b261769212c54528bd99148e6ed0479a4f9e199829de4dfdfa140e8da713a
Status: Downloaded newer image for rabbitmq:latest
docker.io/library/rabbitmq:latest

查询rabbitMQ镜像

[root@XXXXX ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
rabbitmq     latest    05a22b32da70   4 days ago   220MB

创建并启动容器(宿主机需放开配置映射的端口)

#使用默认账密guest
docker run -d --name myRabbit -p 15672:15672 -p 5672:5672 rabbitmq

或

#指定密码的启动方式
docker run -d --name myRabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq

重点: MQ中,5672端口提供控制台服务,15672端口提供web界面服务。

查询容器

#查询运行中的容器
docker ps

#查询全部容器
docker ps -a

#启动历史容器
docker start 容器id

#查看容器的详细信息
docker inspect 容器id


[root@XXXX ~]# docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED              STATUS              PORTS                                                                                                                                      NAMES
6f01c6e8f775   rabbitmq   "docker-entrypoint.s…"   About a minute ago   Up About a minute   4369/tcp, 0.0.0.0:5672->5672/tcp, :::5672->5672/tcp, 5671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp, :::15672->15672/tcp   myRabbit

将容器设置为自启动(当docker启动时,容器自启动)

  • 新建容器时设置为自启动

    docker run -d --restart=always --name myRabbit -p 15672:15672 -p 5672:5672 rabbitmq
    
  • 为已存在的容器配置自启动

    docker update --restart=always 容器id 或 容器名称
    
  • 取消自启动

    docker update --restart=no 容器id 或 容器名称
    
  • 批量设置自启动

    docker update --restart=always $(docker ps -aq)
    

访问RabbitMQ的web控制面板

通过 http://服务器IP:15672

未设置特殊账密时,默认账密为guest

在工程中的配置文件里,MQ的配置PORT为映射5672端口的宿主机端口

访问web控制面板的注意点

原因: 由于Docker镜像保持着尽可能轻便的原则,导致很多镜像都是阉割版。

解决方案

  • 进入容器

    docker exec -it 容器id /bin/bash
    
  • 启动插件

    rabbitmq-plugins enable rabbitmq_management
    

    执行效果:

    root@6f01c6e8f775:/# rabbitmq-plugins enable rabbitmq_management
    Enabling plugins on node rabbit@6f01c6e8f775:
    rabbitmq_management
    The following plugins have been configured:
      rabbitmq_management
      rabbitmq_management_agent
      rabbitmq_prometheus
      rabbitmq_web_dispatch
    Applying plugin configuration to rabbit@6f01c6e8f775...
    The following plugins have been enabled:
      rabbitmq_management
    
    started 1 plugins.
    

在这里插入图片描述

相关文章:

  • 树莓派远程音乐播放器
  • LeetCode用数组建立二叉树
  • Leetcode560. 和为 K 的子数组
  • Docker部署Tomcat
  • NFT交易量下滑 传统品牌布局热情未衰
  • 2022下半年各省软考报名费用汇总,不知道的看这里
  • 社交网络的数据挖掘与分析,什么是社交网络分析
  • Allegro DVT与SiMa.ai携手优化嵌入式边缘应用的能效
  • 2022-8-30 第七小组 学习日记 (day54)JavaWeb、Servlet、HTTP-请求 响应、乱码问题
  • U9二次开发之BE插件开发
  • 推荐系统-Hive基础
  • 通信原理 | 基本概念:信源、信道、噪声、信宿等
  • 关于Flask高级_RequestParser中的add_argument方法参数详解
  • flume系列之:基于zookeeper部署flume agent升级guava和curator版本
  • 触摸控件——滑动调节
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Java超时控制的实现
  • java第三方包学习之lombok
  • MySQL QA
  • SpingCloudBus整合RabbitMQ
  • Vue.js-Day01
  • 大数据与云计算学习:数据分析(二)
  • 基于 Babel 的 npm 包最小化设置
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 译自由幺半群
  • mysql面试题分组并合并列
  • 仓管云——企业云erp功能有哪些?
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • (02)Hive SQL编译成MapReduce任务的过程
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (16)Reactor的测试——响应式Spring的道法术器
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (LeetCode C++)盛最多水的容器
  • (补)B+树一些思想
  • (定时器/计数器)中断系统(详解与使用)
  • (四)库存超卖案例实战——优化redis分布式锁
  • (一)Java算法:二分查找
  • (一)基于IDEA的JAVA基础1
  • *Django中的Ajax 纯js的书写样式1
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .NET 分布式技术比较
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET中的Exception处理(C#)
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [CTF]php is_numeric绕过
  • [C语言]编译和链接
  • [I2C]I2C通信协议详解(一) --- 什么是I2C
  • [JavaWeb玩耍日记]Maven的安装与使用