• 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
    
    • 1
    • 上诉方法可直接配置好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                    
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    查询rabbitMQ镜像

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

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

    #使用默认账密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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    重点: 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

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

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

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

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

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

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

    访问RabbitMQ的web控制面板

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

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

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

    访问web控制面板的注意点

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

    解决方案

    • 进入容器

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

      rabbitmq-plugins enable rabbitmq_management
      
      • 1

      执行效果:

      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.
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13

    在这里插入图片描述

  • 相关阅读:
    图像智能处理黑科技,让图像处理信手拈来
    Http实战之Wireshark抓包分析
    ApplicationListener应用处理业务通知
    这个开源项目超哇塞,手写照片在线生成
    纯 CSS 实现瀑布流布局的方法
    Centos7安装配置中文输入法
    React教程(详细)
    【ESD专题】案例 :结构设计导致的ESD问题
    springboot宴会预定平台 毕业设计-附源码231718
    [附源码]java毕业设计流浪动物救助系统
  • 原文地址:https://blog.csdn.net/m0_67401382/article/details/126327674