资源
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