docker 安装rabbitMQ
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v /data/rabbitmq:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=rshy -e RABBITMQ_DEFAULT_PASS=root1234@AWJSW rabbitmq:managemen
docker 安装rabbitMQ
一 下载镜像
进入docker hub镜像仓库地址:https://hub.docker.com/
搜索rabbitMq,进入官方的镜像,可以看到以下几种类型的镜像;我们选择带有“mangement”的版本(包含web管理页面);
拉取镜像
docker pull rabbitmq
docker pull rabbitmq:management
查看所有镜像
docker images
二、安装和web界面启动
镜像创建和启动容器
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin df80af9ca0c9
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin
rabbitmq:management
df80af9ca0c9 为IMAGE ID
说明:
- -d 后台运行容器;
- --name 指定容器名;
- -p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
- -v 映射目录或文件;
- --hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
- -e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)
-d:后台运行容器 -name:指定容器名 -p:指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号) -v:映射目录或文件,启动了一个数据卷容器,数据卷路径为:/var/lib/rabbitmq,再将此数据卷映射到住宿主机的/data目录 --hostname:主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名) -e:指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码) --restart=always:当Docker重启时,容器能自动启动 rabbitmq:management:镜像名 注1:RABBITMQ_DEFAULT_VHOST=my_vhost,my_vhost名字请记好,在之后的编程中要用到, 如果启动时没指定,默认值为/
查看正在运行容器
docker ps
启动rabbitmq_management
docker exec -it rabbit rabbitmq-plugins enable rabbitmq_management
rabbit 为镜像的应用名称
开启防火墙15672端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload
浏览器打开web管理端:http://ip:15672
参考文章
docker教程
https://www.runoob.com/docker/docker-tutorial.html
命令行与管控台-基础操作 rabbitmqctl stop_app:关闭应用 rabbitmqctl start_app:启动应用 rabbitmqctl status:节点状态 rabbitmqctl add_user username password:添加用户 rabbitmqctl list_users:列出所有用户 rabbitmqctl delete_user username:删除用户 rabbitmqctl clear_permissions -p vhostpath username:清除用户权限 rabbitmqctl list_user_permissions username:列出用户权限 rabbitmqctl change_password username newpassword:修改密码 rabbitmqctl set_permissions -p vhostpath username “.*” “.*” “.*” rabbitmqctl add_vhost vhostpath:创建虚拟主机 rabbitmqctl list_vhosts:列出所有虚拟主机 rabbitmqctl list_permissions -p vhostpath:列出虚拟主机上所有权限 rabbitmqctl delete_vhost vhostpath:删除虚拟主机 rabbitmqctl list_queues:查看所有队列信息 rabbitmqctl -p vhostpath purge_queue blue:清除队列里的消息
命令行与管控台-高级操作 rabbitmqctl reset:移除所有数据,要在rabbitmqctl stop_app之后使用 rabbitmqctl join_cluster <clustermode> [--ram]:组成集群命令 rabbitmqctl cluster_status:查看集群状态 rabbitmqctl change_cluster_node_type disc | ram:修改集群节点的存储形式 rabbitmqctl forget_cluster_node {--offline} 忘记节点 (摘除节点) rabbitmqctl rename_cluster_node oldnode1 newnode1 [oldnode2] [newnode2...] (修改节点名称)
-d:后台运行容器 -name:指定容器名 -p:指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号) -v:映射目录或文件,启动了一个数据卷容器,数据卷路径为:/var/lib/rabbitmq,再将此数据卷映射到住宿主机的/data目录 --hostname:主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名) -e:指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码) --restart=always:当Docker重启时,容器能自动启动 rabbitmq:management:镜像名 注1:RABBITMQ_DEFAULT_VHOST=my_vhost,my_vhost名字请记好,在之后的编程中要用到, 如果启动时没指定,默认值为/