Linux 下Docker安装使用RabbitMQ

RabbitMQ 的优点

  • 基于 ErLang 语言开发具有高可用高并发的优点,适合辑群服务器
  • 健壮、稳定、易用、跨平台、支持多种语言、文档齐全
  • 有消息确认机制和持久化机制,可靠性高
  • 开源

RabbitMQ 的概念

生产者和消费者

  • Producer:消息的生产者
  • Consumer:消息的消费者

Queue

  • 消息队列,提供了 FIFO 的处理机制,具有缓存消息的能力。RabbitMQ 中,队列消息可以设置为持久化,临时或者自动删除。
  • 设置为持久化的队列,Queue 中的消息会在 Server 本地硬盘存储一份,防止系统 Crash,数据丢失
  • 设置为临时队列,Queue 中的数据在系统重启之后就会丢失
  • 设置为自动删除的队列,当不存在用户连接到 Server,队列中的数据会被自动删除

RabbitMQ 的使用过程

  • 客户端连接到消息队列服务器,打开一个 Channel。
  • 客户端声明一个 ExChange,并设置相关属性。
  • 客户端声明一个 Queue,并设置相关属性。
  • 客户端使用 Routing Key,在 ExChange 和 Queue 之间建立好绑定关系。
  • 客户端投递消息到 ExChange。
  • ExChange 接收到消息后,就根据消息的 key 和已经设置的 binding,进行消息路由,将消息投递到一个或多个队列里

概述

我是基于 ubuntu Linux 16.04下 Docker 来安装 RabbitMQ

可以查看之前的文章了解Docker Compose 

docker-compose.yml

(基于root权限)首先选择一个目录创建docker-compose.yml文件  ( 例子测试目录为/usr/local/docker/ )

$  cd /usr/local/docker        //进入文件目录
 
$  mkdir docker.compose.yml        //创建docker.compose.yml文件
 
$  vi docker.compose.yml    //打开docker.compose.yml文件写入要操作的指令
version: '3.1'
services:
  rabbitmq:
    restart: always
    image: rabbitmq:management
    container_name: rabbitmq
    ports:
      - 5672:5672
      - 15672:15672        
    environment:
      TZ: Asia/Shanghai
      RABBITMQ_DEFAULT_USER: rabbit
      RABBITMQ_DEFAULT_PASS: 123456
    volumes:
      - ./data:/var/lib/rabbitmq

将docker compose文件指令复制保存退出

Linux 下Docker安装使用RabbitMQ_第1张图片

 执行docker compose启动命令

$ docker-compose up -d

执行命令查看是否启动成功

$ docker ps

看到已经启动成功

 打开浏览器查看RabbitMQ页面(IP为虚拟机IP,端口为docker容器暴露端口. 账号密码为文件指令中自己设置的)

Linux 下Docker安装使用RabbitMQ_第2张图片

RabbitMQ安装完成 

Linux 下Docker安装使用RabbitMQ_第3张图片 

 

 

 

 

你可能感兴趣的:(linux,Docker)