1、拉取RabbitMQ镜像

在终端中执行以下命令,拉取RabbitMQ的镜像到本地:

docker pull rabbitmq:management

注意:在此处如果你拉取镜像的时候使用docker pull rabbitmq的时候,是默认不开启管理后台功能的。所以,如果此时你想要使用管理后台功能的话,就直接使用这个命令docker pull rabbitmq:management进行镜像的拉去。

此时,可能会出现拉去失败的现象,如下:

docker rabbitmq 开启控制台_IT

这是因为docker默认是使用的是Docker Hub的官方镜像源。而在国内访问官方镜像源的时候网络是不稳定的。所以,这里我们需要将docker镜像源配置成国内的,具体步骤如下:

1)使用如下命令修改/etc/docker/daemon.json文件

vim /etc/docker/daemon.json

如果,之前未配置过镜像源,则文件内容为空,而且是一个新文件:

docker rabbitmq 开启控制台_IT_02

在该文件添加阿里云镜像源:https://pee6w651.mirror.aliyuncs.com

docker rabbitmq 开启控制台_docker_03

2)分别使用如下命令进行重启

systemctl daemon-reload  #重新加载systemd守护进程的配置
systemctl restart docker #重启docker

3)重新执行拉去RabbitMq镜像命令

docker rabbitmq 开启控制台_镜像源_04

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,能登录成功便是启动成功。

docker rabbitmq 开启控制台_IT_05