Docker安装单点RabbitMQ
环境准备
- Centos 7.5
- docker环境
安装步骤
拉取镜像
$ docker pull rabbitmq:management
说明:
获取rabbiymq镜像的时候要记得获取management版本,不要获取last版本的,只有management版本才带有管理界面,方便进行可视化操作。
创建容器
$ docker run --restart=unless-stopped -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:management
或者
$ docker run --restart=unless-stopped -d -p 5672:5672 -p 15672:15672 --name rabbitmq -e RABBITMQ_DEFAULT_USER=guest -e RABBITMQ_DEFAULT_PASS=123456 rabbitmq:management
说明:
第二个创建容器的命令中添加了rabbitmq的默认用户和默认用户的密码,如果不指定默认用户和密码,那么管理界面使用guest作为默认的用户名和密码。
访问管理界面
浏览器地址栏输入http://[宿主机ip]:15672即可访问管理页面,没有设置默认用户名密码的情况下,默认的用户名和密码都是guest
创建指定配置文件rabbitMQ
正常情况下,使用上述的安装步骤即可成功创建一个rabbitmq的容器,但是如果要在创建rabbitmq容器时自己指定配置文件,可以使用下面的命令。
- 在宿主机上创建配置文件存储位置
$ mkdir -p /home/rabbitmq/lib /home/rabbitmq/etc /home/rabbitmq/log
- 复制已经创建的容器中的配置到宿主机
$ docker cp -a rabbitmq:/var/lib/rabbitmq /home/rabbitmq/lib/
$ docker cp -a rabbitmq:/etc/rabbitmq /home/rabbitmq/etc/
$ docker cp -a rabbitmq:/var/log/rabbitmq /home/rabbitmq/log/
$ useradd -s /sbin/nologin rabbitmq
- 给宿主机上的文件赋予权限
$ cd /home/
$ chown -Rf rabbitmq:rabbitmq rabbitmq/
- 停止已经启动的rabbitmq容器
$ docker kill rabbitmq
- 删除创建的rabbitmq容器
$ docker rm -f rabbitmq
- 重新创建rabbitmq容器
$ docker run --restart=unless-stopped -d -p 5672:5672 -p 15672:15672 --name rabbitmq -v /home/rabbitmq/etc/rabbitmq:/etc/rabbitmq -v /home/rabbitmq/lib/rabbitmq:/var/lib/rabbitmq -v /home/rabbitmq/log/rabbitmq/:/var/log/rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 rabbitmq:management
rabbitmq常用命令
//添加用户名密码都是root的用户
$ rabbitmqctl add_user root root
//查看等待队列
$ rabbitmqctl list_queues
//停止节点
$ rabbitmqctl stop_app
//重置节点
$ rabbitmqctl reset
//启动节点
$ rabbitmqctl start_app
//查看集群状态
$ rabbitmqctl cluster_status
//更改节点为磁盘或内存节点
$ rabbitmqctl change_cluster_node_type disc/ram
//将"hello"的队列设置为同步给其它节点,即开启高可用模式
$ rabbitmqctl set_policy ha-all "hello" '{"ha-mode":"all"}'
//将节点从集群中移除
$ rabbitmqctl forget_cluster_node rabbit@rabbit1