docker安装RabbitMQ
docker安装RabbitMQ
1.部署容器
# 删除容器
docker stop rabbitmq-new && docker rm rabbitmq-newcat > deploy_rabbitmq.sh <<-'EOF'
#!/bin/bash# 新建目录
mkdir -p /opt/rabbitmq/data# Step 1: 启动 RabbitMQ 容器
docker run -d \--name rabbitmq-new \--hostname myRabbit \-p 5674:5672 \-p 15673:15672 \-e RABBITMQ_DEFAULT_VHOST=my_vhost \-e RABBITMQ_DEFAULT_USER=admin \-e RABBITMQ_DEFAULT_PASS=admin123456 \--restart=always \-v /opt/rabbitmq/data:/var/lib/rabbitmq \rabbitmq:latest# Step 2: 启用管理插件(无需进入容器)
echo "启用 RabbitMQ 管理插件..."
docker exec -it rabbitmq-new rabbitmq-plugins enable rabbitmq_management# Step 3: 创建配置文件以启用指标收集
echo "配置 metrics_collector..."
docker exec -it rabbitmq-new sh -c \"echo 'management_agent.disable_metrics_collector = false' > /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf"# Step 5: 重启容器使配置生效
echo "重启容器以应用新配置..."
docker restart rabbitmq-newecho "✅ RabbitMQ 部署完成!"
echo "访问管理界面:http://<你的IP>:15673"
echo "默认用户:admin"
echo "默认密码:admin123456"
echo "虚拟主机:my_vhost"EOFbash deploy_rabbitmq.sh
注意:在映射的端口号的时候不要映射 5671端口,端口5671是 RabbitMQ 的默认AMQP over TLS/SSL端口。AMQP(Advanced Message Queuing Protocol)是一种消息传递协议,用于在应用程序之间进行可靠的消息传递。
参数说明:
- -d:表示在后台运行容器;
- -p:将主机的端口 15673(Web访问端口号)对应当前rabbitmq容器中的 15672 端口,将主机的5674(应用访问端口)端口映射到rabbitmq中的5672端口;
- –restart=alawys:设置开机自启动
- -e:指定环境变量:
- RABBITMQ_DEFAULT_VHOST:默认虚拟机名;
- RABBITMQ_DEFAULT_USER:默认的用户名;
- RABBITMQ_DEFAULT_PASS:默认的用户密码;
- –hostname:指定主机名(RabbitMQ 的一个重要注意事项是它根据所谓的 节点名称 存储数据,默认为主机名);
- –name rabbitmq-new:设置容器名称;