云原生之使用Docker部署RabbitMQ消息中间件

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 云原生之使用Docker部署RabbitMQ消息中间件

一、RabbitMQ介绍

1.RabbitMQ简介

RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于AMQP协议的。RabbitMQ是一个开源的消息代理的队列服务器,用来通过普通协议在完全不同的应用之间共享数据。

2.RabbitMQ特点

  • 开源、性能优秀,稳定性保障
  • 提供可靠性消息投递模式、返回模式
  • 与Spring AMQP完美整合,API丰富
  • 集群模式丰富,表达式配置,HA模式,镜像队列模型
  • 保证数据不丢失的前提做到高可靠性、可用性

二、检查docker状态

[root@node ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2022-10-27 13:42:27 CST; 23h ago
     Docs: https://docs.docker.com
 Main PID: 58398 (dockerd)
    Tasks: 35
   Memory: 509.4M
   CGroup: /system.slice/docker.service
           ├─58398 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ├─58997 /usr/bin/docker-proxy -proto udp -host-ip 0.0.0.0 -host-port 30000 -container-ip 172.17.0.2 -container-port 30000
           ├─59004 /usr/bin/docker-proxy -proto udp -host-ip :: -host-port 30000 -container-ip 172.17.0.2 -container-port 30000
           ├─59696 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.17.0.3 -container-port 8080
           └─59702 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8080 -container-ip 172.17.0.3 -container-port 8080

Oct 27 20:12:11 node dockerd[58398]: time="2022-10-27T20:12:11.039975761+08:00" level=info msg="Download failed, retrying (3/5): Get \"https://p...
Oct 27 20:13:32 node dockerd[58398]: time="2022-10-27T20:13:32.439216385+08:00" level=info msg="Download failed, retrying (4/5): read tc...by peer"
Oct 27 20:18:35 node dockerd[58398]: time="2022-10-27T20:18:35.005006269+08:00" level=info msg="Download failed, retrying (3/5): read tc...by peer"
Oct 27 20:19:03 node dockerd[58398]: time="2022-10-27T20:19:03.572294722+08:00" level=info msg="Download failed, retrying (4/5): Get \"https://p...
Oct 27 20:30:21 node dockerd[58398]: time="2022-10-27T20:30:21.331989742+08:00" level=info msg="Download failed, retrying (4/5): read tc...by peer"
Oct 27 20:30:54 node dockerd[58398]: time="2022-10-27T20:30:54.792611068+08:00" level=info msg="Download failed, retrying (5/5): Get \"https://p...
Oct 27 20:35:45 node dockerd[58398]: time="2022-10-27T20:35:45.815030472+08:00" level=info msg="Download failed, retrying (5/5): read tc...by peer"
Oct 27 20:37:55 node dockerd[58398]: time="2022-10-27T20:37:55.378115843+08:00" level=info msg="Download failed, retrying (5/5): read tc...by peer"
Oct 27 20:45:31 node dockerd[58398]: time="2022-10-27T20:45:31.256303716+08:00" level=error msg="Download failed after 6 attempts: read ...by peer"
Oct 27 20:45:31 node dockerd[58398]: time="2022-10-27T20:45:31.257428765+08:00" level=info msg="Attempting next endpoint for pull after ...by peer"
Hint: Some lines were ellipsized, use -l to show in full.

三、下载RabbitMQ镜像

[root@node ~]# docker pull bitnami/rabbitmq
Using default tag: latest
latest: Pulling from bitnami/rabbitmq
0796bf144e3f: Pull complete 
0aa278e6d559: Pull complete 
f37134480d36: Pull complete 
3ca5a05c65cf: Pull complete 
88bb7bc42515: Pull complete 
d707818752e6: Pull complete 
b8a937a01956: Pull complete 
efb772451b7f: Pull complete 
db7fe513e59c: Pull complete 
0d37a623156d: Pull complete 
2e1d8d64104c: Pull complete 
1bc67f22006e: Pull complete 
891457114828: Pull complete 
1161d96f1d40: Pull complete 
Digest: sha256:a45676c71cf551fe942245b7ae133f9fd09f6278bb53fa98e18a00cf6abdbd90
Status: Downloaded newer image for bitnami/rabbitmq:latest
docker.io/bitnami/rabbitmq:latest

四、创建RabbitMQ容器

1.创建数据目录

[root@node ~]# mkdir -p /data/rabbitmq/data
[root@node ~]# chmod -R 777 /data/rabbitmq/data

2.运行RabbitMQ容器

[root@node rabbitmq]# docker run -d --name rabbitmq --restart always  -v /data/rabbitmq/data:/bitnami   -e RABBITMQ_USERNAME=admin -e RABBITMQ_PASSWORD=admin    -p 5672:5672 -p 15672:15672       bitnami/rabbitmq:latest
9631983cebc690761d3cda187ea85383ffef0005045e7a60e4a527ceb1c419ef


3.查看RabbitMQ容器状态

[root@node rabbitmq]# docker ps
CONTAINER ID   IMAGE                                  COMMAND                  CREATED          STATUS          PORTS                                                                                                                                               NAMES
9631983cebc6   bitnami/rabbitmq:latest                "/opt/bitnami/script…"   18 seconds ago   Up 18 seconds   4369/tcp, 5551-5552/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, :::5672->5672/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp, :::15672->15672/tcp   rabbitmq


五、进入RabbitMQ登录页

image.png

六、登录RabbitMQ首页

image.png

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1天前
|
运维 Linux 虚拟化
Docker详解(三)——Docker安装与部署
Docker详解(三)——Docker安装与部署
25 4
|
1天前
|
消息中间件 JavaScript Docker
rabbitmq 3.9.29 docker mac 管理员页面无法打开
rabbitmq 3.9.29 docker mac 管理员页面无法打开
|
2天前
|
测试技术 Linux Docker
【好玩的经典游戏】Docker部署FC-web游戏模拟器
【好玩的经典游戏】Docker部署FC-web游戏模拟器
19 1
|
3天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
33 1
|
6天前
|
存储 测试技术 文件存储
【Docker项目实战】使用Docker部署Sun-Panel导航面板
【4月更文挑战第19天】使用Docker部署Sun-Panel导航面板
55 7
|
8天前
|
测试技术 Linux 网络安全
【好玩的开源项目】使用Docker部署SyncTV视频同步和共享平台
【4月更文挑战第16天】使用Docker部署SyncTV视频同步和共享平台
49 1
|
13天前
|
测试技术 Linux 数据安全/隐私保护
【Docker项目实战】使用Docker部署Seatsurfing预订座位系统
【4月更文挑战第12天】使用Docker部署Seatsurfing预订座位系统
38 3
|
1月前
|
消息中间件 存储 监控
RabbitMQ:分布式系统中的高效消息队列
RabbitMQ:分布式系统中的高效消息队列
|
1月前
|
消息中间件 Java
springboot整合消息队列——RabbitMQ
springboot整合消息队列——RabbitMQ
75 0
|
3月前
|
消息中间件 JSON Java
RabbitMQ消息队列
RabbitMQ消息队列
46 0

相关产品

  • 云消息队列 MQ