docker 安装 rabbitmq 体验

 记录一下安装过程,新手上路请慢行。

 一 docker 的安装

官网地址

https://www.docker.com/

Get Started | Docker

找到对应系统 的安装说明(拿centos系统来说)

# 移除旧版本docker

# 移除旧版本docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

# 配置docker yum源 加快安装。

sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装 最新 docker

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

下边是官网的

# 启动& 开机启动docker; enable + start 二合一

systemctl enable docker --now

# 配置加速 在重起

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://mirror.ccs.tencentyun.com",
        "https://docker.m.daocloud.io"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

# 关闭

systemctl stop firewalld

# 禁止开机启动防火墙

systemctl disable firewalld

执行 docker -v 出现下图就说明安装好了

安装过程中出出问题 如下操作

1.先清理一下yum安装缓存问题

yum clean all

2.将服务器上的软件包信息进行本地缓存,提高搜索安装软件的速度

yum makecache

3.重新执行docker安装命令

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

二 docker compsoe 安装rabbitmq

准备docker-compose的yaml文件

暴露端口肯挂载到指定目录,同时创建一个rabbit用户
name: dev-rabbit
services:
  rabbit:
    image: rabbitmq:3-management
    restart: always
    container_name: rabbitmq
    ports:
      - "5672:5672"
      - "15672:15672"
      - "25672:25672"
      - "4369:4369"
    environment:
      - RABBITMQ_DEFAULT_USER=rabbit
      - RABBITMQ_DEFAULT_PASS=rabbit
      - RABBITMQ_DEFAULT_VHOST=dev
    volumes:
      - rabbit-data:/var/lib/rabbitmq
      - rabbit-app:/etc/rabbitmq
      - /etc/localtime:/etc/localtime:ro

volumes:
  rabbit-data:
  rabbit-app:

比如这个文件保存为dev-rabbit-docker.yaml,上传到Centos的服务的一个目录在这个dev-rabbit-docker.yaml文件所在目录执行下边个命令

docker compose -f dev-rabbit-docker.yaml up -d

这个命令就会去拉取我们指定版本的rabbitmq带管理界面的版本,并启动

docker compose -f dev-rabbit-docker.yaml up -d

在访问虚拟机的ip+15672 就可以看到rabiitmq的管理界面了。

http://172.16.248.130:15672/

如果需要手动独立安装

手动安装时需要先安装 Erlang ,它的版本和rabbit版本有关系,

RabbitMQ: One broker to queue them all | RabbitMQ

Index - Erlang/OTP

手动安装这里就不在描述,可以参考大佬的博客

rabbitmq教程_rabbitmq环境变量设置-优快云博客

三 rabbitmq 一些基础知识

端口说明:

概念介绍

消息队列有三个核心要素: 消息生产者、消息队列、消息消费者;

生产者(Producer):发送消息的应用;(java 程序,也可能是别的语言写的程序)

消费者(Consumer):接收消息的应用;(java 程序,也可能是别的语言写的程序)

代理(Broker):就是消息服务器,RabbitMQ Server 就是 Message Broker;

连接(Connection):连接 RabbitMQ 服务器的 TCP 长连接;

信道(Channel):连接中的一个虚拟通道,消息队列发送或者接收消息时,都是通过信道 进行的

虚拟主机(Virtual host):一个虚拟分组,在代码中就是一个字符串,当多个不同的用 户使用同一个 RabbitMQ 服务时,可以划分出多个 Virtual host,每个用户在自己的 Virtual host 创建 exchange/queue 等;(分类比较清晰、相互隔离)

交换机(Exchange):交换机负责从生产者接收消息,并根据交换机类型分发到对应的消 息队列中,起到一个路由的作用;

路由键(Routing Key):交换机根据路由键来决定消息分发到哪个队列,路由键是消息 的目的地址;

绑定(Binding):绑定是队列和交换机的一个关联连接(关联关系);

队列(Queue):存储消息的缓存;

消息(Message):由生产者通过 RabbitMQ 发送给消费者的信息;(消息可以任何数据, 字符串、user 对象,json 串等等)

RabbitMQ的交换机

类型

1、Fanout Exchange(扇形)

2、Direct Exchange(直连)

3、Topic Exchange(主题)

4、Headers Exchange(头部)

如果需要看 队列的说明,官网如下:

交换机-帮队列

在管理界面来 点对点发送消息(Direct Exchange)

创建direct交换机Add a new exchange:direct-exchange00

  • 创建队列Add a new queue:queue01

  • 交换机与队列绑定Bindings

绑定好,之后可就可在这个交换机里发送一条消息了

这里出现成功发出

然后我们可以在队列里去获取这条消息。

到此 点对点的发消息和获取消息就以串起来了。

也可在统计面板看到我们发的消息统计数据。

到此docker 安装 rabbtimq 完成,且初步体验功能也正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值