说明

RabbitMQ是消息队列中间件。支持多种部署环境(主机,docker,k8s)

官网 https://www.rabbitmq.com/

容器镜像 https://hub.docker.com/_/rabbitmq/

RabbitMQ queues

RabbitMQ streams
基础知识部分待更新

容器化部署,推荐最新稳定版本。

参考https://hub.docker.com/_/rabbitmq/

特殊配置

可选。RabbitMQ推荐
docker的配置文件/etc/docker/daemon.json需追加配置

"default-ulimits": {
    "nofile": {
      "Name": "nofile",
      "Hard": 64000,
      "Soft": 64000
    }
  }

部署

创建文件compose.yaml

# 部署RabbitMQ

volumes:
  rabbitmq-data:
    name: rabbitmq-data

networks:
  rabbitmq:
    name: rabbitmq
    driver: bridge

services:
  rabbitmq:
    image: rabbitmq:4.2.5-management
    container_name: rabbitmq
    hostname: rabbitmq
    restart: unless-stopped

    # 端口映射
    ports:
      - "5672:5672"
      - "15672:15672"

    environment:
      - RABBITMQ_DEFAULT_USER=rabbitmq
      - RABBITMQ_DEFAULT_PASS=Ruichuang@123

    # 挂载:配置文件 + 数据持久化卷
    volumes:
      - ./rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
      - rabbitmq-data:/var/lib/rabbitmq

    networks:
      - rabbitmq

创建配置文件rabbitmq.conf,来自https://github.com/rabbitmq/rabbitmq-server/blob/main/deps/rabbit/docs/rabbitmq.conf.example 可使用默认内容,也可用空文件,或不挂载此文件。
注意:RabbitMQ推荐使用配置文件灵活管理,从3.9版本开始,不推荐环境变量方法管理配置。
我认为,用配置文件管理的方法与k8s中configmap的方法是类似的思路,通过配置文件可追溯,可灵活配置,可完整知道配置项,可更规范的管理和使用。

访问

浏览器访问IP:15672 账户rabbitmq 密码Ruichuang@123

更多推荐