https://blog.csdn.net/longgefa_jj/article/details/87898693
资源
RabbiMQ的相关镜像为:https://hub.docker.com/_/rabbitmq/,查看tags,可查看版本信息。
安装
#拉取rabbit镜像 (management,表明是带web管理界面的,便于管理)
docker search rabbitmq:3.7.8-management
docker pull rabbitmq:3.7.8-management
docker images
#用于挂载rabbit数据文件 (mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录)
mkdir -p /home/rabbitmq/data
#修改image的tag
docker tag d69a5113ceae 192.168.1.164:5000/rabbitmq
#推送docker私服
docker push 192.168.1.164:5000/rabbitmq
启动
docker run -di
--hostname my-rabbitmq
--name my-rabbitmq
--restart always
-v /home/rabbitmq/data:/var/lib/rabbitmq
-p 5672:5672
-p 15672:15672
-e RABBITMQ_DEFAULT_VHOST=my_vhost
-e RABBITMQ_DEFAULT_USER=admin
-e RABBITMQ_DEFAULT_PASS=123456
192.168.1.164:5000/rabbitmq:latest
-di:以守护进程方式在后台运行
--hostname:主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名)
设置容器的主机名,仅本机可见。
这种方式是写到/etc/hostname ,以及/etc/hosts 文件中,作为容器主机IP的别名,并且将显示在容器的bash中。
不过这种方式设置的主机名将不容易被容器之外可见。这将不会出现在 docker ps 或者 其他的容器的/etc/hosts 文件中。
--name:指定容器名
#-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号)
#-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名RABBITMQ_DEFAULT_PASS:默认用户名的密码)
#-v 映射目录或文件,数据持久化到主机目录;
防火墙设置
#编辑防火墙配置文件
vi /etc/sysconfig/iptables
-A IN_public_allow -p tcp -m tcp --dport 5672 -m conntrack --ctstate NEW -j ACCEPT
-A IN_public_allow -p tcp -m tcp --dport 15672 -m conntrack --ctstate NEW -j ACCEPT
#重启防火墙
systemctl restart iptables
#没有/etc/sysconfig/iptables 文件则
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
#重启防火墙
firewall-cmd --reload
访问
在浏览器中输入http://192.168.1.164:15672,会有登录界面,用户名和密码是admin/123456