天天看点

【Docker】RabbitMQ使用学习

【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 用户进行远程连接