Docker 运行RabbitMQ
# 1. 启动 docker
systemctl start docker
# 2. 拉取镜像
docker pull rabbitmq:3.8-management
# rabbitmq:3.8 是start较多的版本,rabbitmq:3.8-management 表示下载包含web管理插件的版本
# 3. 查看镜像是否拉取成功
docker images
# 4. 启动rabbit
vim docker_run_rabbitmq3.8.sh
# 将以下命令写入脚本 或 直接运行
docker run \
--hostname rabbit \
-p 5672:5672 \
-p 15672:15672 \
--name rabbitmq \
--restart unless-stopped \
-e RABBITMQ_DEFAULT_VHOST=rabbit_vhost \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin123456 \
--mount source=dv_rabbitmq_data,target=/var/lib/rabbitmq \
-d rabbitmq:3.8-management
# 命令解释
--hostname rabbit 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名)
-p 5672:5672 应用访问端口
-p 15672:15672 控制台Web端口
--restart unless-stopped docker 重启策略,除手动停止的容器,无论容器退出状态码是什么都进行重启
-e RABBITMQ_DEFAULT_VHOST=rabbit_vhost 设置默认虚拟机名
-e RABBITMQ_DEFAULT_USER=admin 设置默认的用户名
-e RABBITMQ_DEFAULT_PASS=admin123456 设置默认用户名的密码
--mount source=dv_rabbitmq_data,target=/var/lib/rabbitmq 使用 dv_rabbitmq_data 数据卷(Volumes)将数据持久化
RabbitMQ 常用端口以及作用
5672端口:AMQP(Advanced Message Queuing Protocol)协议的默认端口,用于客户端与RabbitMQ服务器之间的通信。
15672端口:RabbitMQ的管理界面,默认使用HTTP协议,用于监控和管理RabbitMQ服务器。
4369端口:Erlang分布式节点通信端口,用于RabbitMQ节点之间的通信。
25672端口:Erlang分布式节点通信端口,用于集群中的内部通信。
5671端口:安全的AMQP端口,使用TLS/SSL进行加密通信
# 5. 执行脚本或者直接运行以上命令
chmod +x docker_run_rabbitmq3.8.sh
./docker_run_rabbitmq3.8.sh
# 6. 查看容器是否正常运行
docker ps
# 7. 开启web客户端
- 进入容器开启
1. docker exec -it rabbitmq /bin/bash
2. rabbitmq-plugins enable rabbitmq_management
- 不进入容器开启
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management
在浏览器上使用 http协议+ip+端口 访问rabbitmq的web客户端
输入上面在初始化Rabbitmq容器时我们自己指定了的默认账号和密码:admin/admin123456,如果没有指定的话那么rabbitmq的默认账号密码是:guest/guest