拉取镜像
docker pull rabbitmq:management
management 标签表示包含管理插件,可以通过 Web 界面管理 RabbitMQ
启动容器
docker run --restart=always -d --name rabbitmq \-p 9004:5672 -p 9005:15672 \-e RABBITMQ_DEFAULT_USER=rabbitmq \-e RABBITMQ_DEFAULT_PASS=rabbitmq \-v rabbitmq_data:/var/lib/rabbitmq \rabbitmq:management
docker run: 启动一个新的 Docker 容器。
--restart=always: 容器意外退出或 Docker 服务重启,Docker 将始终自动重新启动该容器。
--name rabbitmq: 给容器命名为 rabbitmq,以便于管理和引用该容器。
-p 9004:5672 -p 9005:15672: 端口映射。15672:管理界面端口,5672:AMQP协议端口
-e RABBITMQ_DEFAULT_USER=rabbitmq: 指定默认的 RabbitMQ 用户名为 rabbitmq。
-e RABBITMQ_DEFAULT_PASS=rabbitmq: 指定默认的 RabbitMQ 密码为 rabbitmq。
-v rabbitmq_data:/var/lib/rabbitmq 创建了一个名为 rabbitmq_data 的卷来持久化 RabbitMQ 数据
-d: 容器将在后台运行,而不是占用当前的终端会话。
在 Docker 中,当你使用 -v 或 volumes 挂载卷时,RabbitMQ 的数据默认存储在容器的 /var/lib/rabbitmq 目录下。这个目录包含 RabbitMQ 的消息存储、数据库和其他持久化数据
以通过以下命令查看它在宿主机上的实际存储路径:
docker volume inspect rabbitmq_data
root@zhwubuntu-virtual-machine:/var/lib# docker volume inspect rabbitmq_data
[{"CreatedAt": "2025-04-06T18:34:05+08:00","Driver": "local","Labels": null,"Mountpoint": "/var/lib/docker/volumes/rabbitmq_data/_data","Name": "rabbitmq_data","Options": null,"Scope": "local"}
]