【Docker】RabbitMQ使用学习
官方镜像: https://hub.docker.com/_/rabbitmq
镜像基于 Ubuntu 18.04.4 LTS 版,安装目录:/opt/rabbitmq,配置目录:/etc/rabbitmq
# docker pull rabbitmq:3.8.3-management
# docker run -d --restart=always -p 5672:5672 -p 15672:15672 -p 25672:25672 --name rabbitmq rabbitmq:3.8.3-management
Alpine 镜像,目录
# docker pull rabbitmq:3.8.2-management-alpine
# docker run -d --restart=always -p 5672:5672 -p 15672:15672 -p 25672:25672 --name rabbitmq rabbitmq:3.8.2-management-alpine
启动后访问地址:http://IP地址:15672
默认账号密码都是 guest
指定其他参数
# docker run -d --restart=always --name rabbitmq -p 5672:5672 -p 15672:15672 -v /root/ycx/rabbitmq:/var/lib/rabbitmq --hostname myRabbitmq -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 rabbitmq:3.7.7-management
参数说明:
-d 后台运行容器
--restart=always 系统启动后重启
--name 指定容器名
-p 指定服务运行的端口,宿主端口:容器端口(5672:应用访问端口;15672:控制台Web端口号)
-v 映射目录或文件
--hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名)
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)
命令添加交换器、队列、绑定
# docker exec -d rabbitmq rabbitmqadmin -u guest -p guest declare exchange name=logs-exchange type=direct durable=true
# docker exec -d rabbitmq rabbitmqadmin -u guest -p guest declare queue name=logs-queue
# docker exec -d rabbitmq rabbitmqadmin -u guest -p guest declare binding source=logs-exchange destination=logs-queue routing_key=logs-queue
进入容器
# docker exec -it rabbitmq bash
RabbitMQ 配置
/etc/rabbitmq/rabbitmq.conf
# vi /etc/rabbitmq/rabbitmq.conf
通过设置 loopback_users 为 none 可以使 guest 用户进行远程连接