赞
踩
1、拉取RabbitMQ镜像
docker pull rabbitmq
docker pull rabbitmq:management
需要注意的是,docker pull rabbitmq (镜像未配有控制台),docker pull rabbitmq:management (镜像配有控制台)。
2、创建rabbitmq相关挂载目录
mkdir -p docker-work/rabbitmq/{data,conf,log}
创建完成之后要特别注意,所创建文件的权限 都设置成777 否则在启动容器的时候容易失败
chmod -R 777 docker-work/rabbitmq # 授权
3、启动容器命令
docker run -d --name rabbitmq --hostname=rabbitmqhost \ -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin123456 \ -e RABBITMQ_DEFAULT_VHOST=my_vhost \ -v /docker-work/rabbitmq/data:/var/lib/rabbitmq -v /docker-work/rabbitmq/conf:/etc/rabbitmq -v /docker-work/rabbitmq/log:/var/log/rabbitmq \ -p 5672:5672 -p 15672:15672 \ rabbitmq:management 参数说明: –restart=always :表示随着Docker容器重启(~~可加可不加~~ ) -e :指定环境变量 RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码,rabbitmq默认账号和密码是guest --hostname :主机名 (~~可加可不加~~ ) -p :端口映射 -v :文件挂载 -d :表示后台运行 –name rabbitmq :表示启动后的容器实例名称为rabbitmq 介绍: 如果用的是阿里云的话,顺便开放下这两个端口,不然没法访问
启动失败问题解决:
①使用【docker ps -a】命令获取容器ID,图中标红部分
②使用【docker logs 容器ID】命令,获取错误日志
如果错误信息是图上标红部分,则
问题原因:
.erlang.cookie 权限不够
解决方法:
修改文件挂载为 -v /docker-work/rabbitmq/data:/var/lib/rabbitmq/mnesia #数据文件挂载
最后放一下我亲测启动命令
docker run -d --privileged=true --name rabbitmq \
-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin123456 \
-v /docker-work/rabbitmq/data:/var/lib/rabbitmq/mnesia -v /docker-work/rabbitmq/conf:/etc/rabbitmq -v /docker-work/rabbitmq/log:/var/log/rabbitmq \
-p 5672:5672 -p 15672:15672 \
rabbitmq:management
3.1、设置主机名的作用 (–hostname=rabbitmqhost)
RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名
4.2 设置虚拟机名(-e RABBITMQ_DEFAULT_VHOST=my_vhost)的作用
其他
开启web页面
1、docker ps 查看容器是否运行成功
2、开启插件:首先使用命令进入容器
docker exec -it myrabbit bash
myrabbit指自己启动容器时定义的名称
进入后执行
rabbitmq-plugins enable rabbitmq_management
3、添加用户
1.首先进入容器 docker exec -it 容器ID /bin/bash
2.创建用户 rabbitmqctl add_user admin admin123
3.给用户授权角色 rabbitmqctl set_user_tags admin administrator
4.给用户添加权限 rabbitmqctl set_permissions -p / admin “." ".” “.*”
不用重启服务,直接访问即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。