使用docker离线安装rabbitmq
1.在外网环境下载rabbitmq:management镜像
命令:docker pull rabbitmq:management
启动容器(即验证镜像是否有用):
命令:docker run -d --hostname wxrabbit --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:management
2.归档镜像,并丢到184服务器(即目标服务器)上:
命令:docker save image > /root/image.tar
3.在目标服务器上恢复该镜像:
命令:docker load -i image.tar(我的是 docker load -i rabbitmqmana.tar )
4.启动mq(注:需设置自启动)
命令:docker run -d --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management
自启动:docker run -d --hostname wxrabbit --name rabbitmq -d --restart=always -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management
5.docker ps 或 docker ps -a 查看是否启动成功
出现rabbitmq服务表示启动成功
ps:
如果报Error Response from daemon:cannot 可以重启docker: systemctl
restart docker
6.进入rabbitmq容器中:
docker exec -it rabbitmq ./bin/bash
7.控制台或java程序连接rabbitmq:
rabbitmq 默认用户名和密码guest/guest,但只能本机访问。如非本机需添加用户并授权
8.rabbitmq用户管理:
①查看当前用户列表:rabbitmqctl list_users
②新增用户:rabbitmqctl add_user Username Password
③删除用户:rabbitmqctl delete_user Username
④修改用户名:rabbitmqctl change_password Username Newpassword
⑤设置用户角色:rabbitmqctl set_user_tags User Tag (例子:rabbitmqctl set_user_tags admin administrator)
⑥设置用户权限:rabbitmqctl set_permissions -p VHostPath User ConfP WriteP ReadP(例子:rabbitmqctl set_permissions --vhost / wuxia “." ".” “.*”)
⑦查看用户权限:rabbitmqctl list_permissions
⑧清除用户权限:rabbitmqctl clear_permissions User (例子:rabbitmqctl clear_permissions wuxia)
注意:
用指定用户连接rabbitmq报:
连接报错:o.s.a.r.l.SimpleMessageListenerContainer : Broker not available; cannot force queue declarations during start: java.io.IOException
org.springframework.amqp.AmqpIOException: java.io.IOException
原因分析:== 用户权限不够 ==
解决方案:
- 1.在rabbImq管理界面
- 2.用命令给用户授权:
rabbitmqctl set_permissions --vhost / wuxia “." ".” “.*”