Docker快速部署RabbitMq教程,这一篇就够了!
CSDN 2024-06-30 14:37:01 阅读 87
目录
1、拉取RabbitMQ镜像
2、创建RabbitMQ容器
3、验证是否安装成功
4、后台管理页面无法打开问题
要快速部署RabbitMQ,可以使用Docker容器来简化过程。下面是使用Docker快速部署RabbitMQ的教程。
1、拉取RabbitMQ镜像
在终端中执行以下命令,拉取RabbitMQ的镜像到本地:
docker pull rabbitmq:management
注意:在此处如果你拉取镜像的时候使用docker pull rabbitmq的时候,是默认不开启管理后台功能的。所以,如果此时你想要使用管理后台功能的话,就直接使用这个命令docker pull rabbitmq:management进行镜像的拉去。
此时,可能会出现拉去失败的现象,如下:
这是因为docker默认是使用的是Docker Hub的官方镜像源。而在国内访问官方镜像源的时候网络是不稳定的。所以,这里我们需要将docker镜像源配置成国内的,具体步骤如下:
1)使用如下命令修改/etc/docker/daemon.json文件
vim /etc/docker/daemon.json
如果,之前未配置过镜像源,则文件内容为空,而且是一个新文件:
在该文件添加阿里云镜像源:https://pee6w651.mirror.aliyuncs.com
2)分别使用如下命令进行重启
systemctl daemon-reload #重新加载systemd守护进程的配置
systemctl restart docker #重启docker
3)重新执行拉去RabbitMq镜像命令
2、创建RabbitMQ容器
创建一个名为rabbitmq的容器,并且设置了RabbitMQ的默认用户名和密码分别为zhuoye、zy521
docker run -id --name=rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 -e RABBITMQ_DEFAULT_USER=zhuoye -e RABBITMQ_DEFAULT_PASS=zy521 rabbitmq:management
在创建容器的时候可能会出现如下错误:
docker: Error response from daemon: driver failed programming external connectivity on endpoint rabbit (6a6d881f18c0c1b3f4c19352110251cf685792f150915bbc53a91ff687968ede): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 15672 -j DNAT --to-destination 172.17.0.2:15672 ! -i docker0: iptables: No chain/target/match by that name. (exit status 1)).
这个报错原因主要就是:在你启用docker的时候rabbitmq相关的端口并未放开,而 docker是在启动的时候才会向iptables注册一个链,这样就是让docker服务管理的容器所暴露的端口之间进行通信。所以,你在docker启动后,再放开相关端口的时候,这些新开的端口是没有注册上去的。
那么,此时该如何解决这个问题就很清晰了。
也就是重启docker:
systemctl restart docker
3、验证是否安装成功
登录RabbitMq后台管理端,默认地址就是ip:15672,能登录成功便是启动成功。
4、后台管理页面无法打开问题
为什么我安装了rabbitmq,但是却在浏览器打不开后台管理页面?
出现这种情况基本上是因为你在安装的时候,是使用的该命令docker pull rabbitmq 拉取镜像的。上面也提到使用该命令拉取镜像的时候,是默认不开启后台管理功能的。
那么如果使用了改命令进行镜像的拉取以及安装的话,可以通过以下命令开启后台管理功能:
1)查看rabbitmq的容器id
docker ps
2)进入docker容器
docker exec -it 3b1a08b5ce3b /bin/bash
3)开启后台管理功能
rabbitmq-plugins enable rabbitmq_management
此时也就是,开启了后台管理功能,便可以正确的打开后台管理页面了。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。