当前位置: 首页 > 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版本
  • 触摸控件——滑动调节
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • JavaScript HTML DOM
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • SQLServer插入数据
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 初识 beanstalkd
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 基于组件的设计工作流与界面抽象
  • 离散点最小(凸)包围边界查找
  • 判断客户端类型,Android,iOS,PC
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 手机端车牌号码键盘的vue组件
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 微信小程序开发问题汇总
  • 7行Python代码的人脸识别
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​Python 3 新特性:类型注解
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #考研#计算机文化知识1(局域网及网络互联)
  • (阿里云万网)-域名注册购买实名流程
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (二)学习JVM —— 垃圾回收机制
  • (蓝桥杯每日一题)love
  • (一)为什么要选择C++
  • (转)大型网站的系统架构
  • *** 2003
  • **python多态
  • .gitignore文件—git忽略文件
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .net core 6 集成和使用 mongodb
  • .net core 依赖注入的基本用发
  • .NET 服务 ServiceController
  • .net 怎么循环得到数组里的值_关于js数组
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • :=
  • @Data注解的作用
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [20170728]oracle保留字.txt