# rabbitmq
# docker-compose.yml
version: "2"
services:
mq:
image: "rabbitmq:3-management-alpine"
restart: always
container_name: "rabbitmq"
hostname: "rabbitmq"
ports:
- "15672:15672"
- "5672:5672"
- "25672:25672"
- "61613:61613"
- "1883:1883"
- "15692:15692"
- "15674:15674"
- "15670:15670"
volumes:
- ./data:/var/lib/rabbitmq/mnesia/rabbit@rabbitmq
environment:
RABBITMQ_DEFAULT_USER: admin
RABBITMQ_DEFAULT_PASS: admin
# 端口映射
- 15672: web管理端口
- 5672: ampq 通信接口
- 25672:
- 61613: stomp 通信端口
- 1883: mqtt 通信端口
- 15675:mqtt web端口
# 数据持久化: 映射的目录存在权限问题
解决办法
# 创建一个临时的 rabbitmq (映射需要存储的目录,此时该目录还是root权限)
docker run --user root --rm -ti \
-v /opt/docker/rabbitmq/data:/var/lib/rabbitmq/mnesia/rabbit@rabbitmq \
rabbitmq:3-management-alpine /bin/sh
# 在 docker 打开的命令 sh 中执行
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/mnesia/rabbit@rabbitmq
exit
此时就修复了权限问题,再次使用 docker-compose 运行即可.
设置用户及虚拟主机(vhost)
1.添加用户

注意:
Tags: 不要手动输入,点击下面的选项进行选择角色.
2.添加虚拟主机(vhost)

name下的名称是可以点击的.点击后可以设置权限
3.设置权限

至此,用户以及虚拟主机就关联上了.