1、创建环境
1、创建目录
/usr/local/docker/app/rabbit
2、创建data\logs\plugins目录
3、创建docker-compose.yml

4、配置国内镜像加速源
{
"registry-mirrors": [
"https://alzgoonw.mirror.aliyuncs.com",
"https://docker.m.daocloud.io",
"https://dockerhub.icu",
"https://docker.anyhub.us.kg",
"https://docker.1panel.live"
]
}
2、docker-compose.yml内容
version: '3.8'
services:
rabbitmq:
image: rabbitmq:3.12-management-alpine
container_name: rabbitmq
hostname: rabbitmq-server
ports:
# AMQP 协议端口
- "5672:5672"
# 管理界面端口
- "15672:15672"
environment:
# 默认用户密码
RABBITMQ_DEFAULT_USER: admin
RABBITMQ_DEFAULT_PASS: admin123
# 配置文件路径(关键:不要修改这个路径)
RABBITMQ_CONFIG_FILE: /etc/rabbitmq/rabbitmq.conf
# Erlang cookie(单节点可忽略,集群需要)
RABBITMQ_ERLANG_COOKIE: "rabbitmq-cookie-123"
volumes:
# 数据持久化
- ./data:/var/lib/rabbitmq
# 日志目录
- ./logs:/var/log/rabbitmq
# 插件 如何需要开启,需要先临时启动,将容器内部自带的插件拷贝出来
# - ./plugins:/opt/rabbitmq/plugins
# 资源限制
deploy:
resources:
limits:
cpus: '2.0'
memory: 2G
reservations:
cpus: '0.5'
memory: 512M
# 日志配置
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "5"
compress: "true"
# 健康检查
healthcheck:
test: ["CMD", "rabbitmq-diagnostics", "ping"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
# 开机自启
restart: always
networks:
- rabbitmq-network
networks:
rabbitmq-network:
driver: bridge
name: rabbitmq-network启动
启动
docker compose up -d
停止
docker compose stop
停止后启动
docker compose start
停止并删除容器,网络等
docker compose down
docker compose logs -f
docker compose logs --tail 20

