基于docker安装rubbitmq
说明:我的是在window里搭建一台虚拟机,系统是cestos7 并安装好docker,docker安装步骤可借鉴我的博客;
搭建过程:
常用命令解释:
①:docker images:列出本地所有镜像
docker search <IMAGE_ID/NAME>:查找要安装的image
docker pull <IMAGE_ID>:下载要安装的image
docker push <IMAGE_ID>:上传image
docker rmi <IMAGE_ID> :删除image
开始安装:
1:先检查docker是否已经安装rubbitmq:
[[email protected] /]# docker images
一般不会有
2:查找rabbitmq 镜像文件
[[email protected] /]# docker search rabbitmq:management
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
macintoshplus/rabbitmq-management Based on rabbitmq:management whit python and… 1 [OK]
transmitsms/rabbitmq-sharded Fork of rabbitmq:management with sharded_exc… 0
3:下载rabbitmq 镜像
在下载镜像之前建议国内源,这样网速会快一些;详情可以看我的docker安装博客有介绍
[[email protected] /]# docker pull rabbitmq:management
management: Pulling from library/rabbitmq
2a72cbf407d6: Pull complete
503bf932383f: Pull complete
f03a47f5528b: Pull complete
64044b5cb8a5: Pull complete
b286cfe0ed10: Pull complete
d1eedb478585: Pull complete
189086b1c693: Pull complete
7b609b52ebd2: Pull complete
c6129d82ed12: Pull complete
e4a5d104cbea: Pull complete
c6c87accb857: Pull complete
e5afccea8158: Pull complete
8f80becd748b: Pull complete
d65c8e06bcdc: Pull complete
Digest: sha256:51477e783858941c8035f62c288c14fc282c3d7c543163edf08d87c53c71c8bf
Status: Downloaded newer image for rabbitmq:management
4:在docker中运行rabbitmq。并新建rabbitmq登录界面的用户和密码。
[[email protected] /]# docker run -d --hostname rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=rabbitadmin -e RABBITMQ_DEFAULT_PASS=rabbitpwd -p 15672:15672 rabbitmq:management2d2721e6128028b04a50e4b26d289e9882dd128e80028c46c15146e40afef96d
字段解释:
-d:以守护进程的方式在后台运行
--hostname:设置容器的主机名,仅本机课件。这种方式是可以写在/etc/hostname,以及/etc/hosts 文件中,作为容器
主机 IP的别名,并且将显示在容器的bash中,不过这种方式设置的主机名将不容易被容器之外可见。这将不会出现在docker ps 或者 其他容器的/etc/hosts文件中。
--name:制定容器名
-p:指定服务运行的端口。
5:查看镜像是否启动,使用docker ps 命令
[[email protected] /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2d2721e61280 rabbitmq:management "docker-entrypoint.s…" 35 minutes ago Up 35 minutes 4369/tcp, 5671-5672/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp rabbit
6:容器启动之后,可以用以下命令管理
docker stop rabbit: 停止rabbitmq
docker start rabbit: 重启rabbitmq
docker ps -l :显示最后启动的容器
docker ps -a :同时显示停止的容器,默认只是启动状态
7:登录测试:虚拟机ip
http://虚拟机ip:15672
注:进入登录界面后输入账号和密码时,我们前面设置过了!
-------------------------------------------------------------分割线--------------------------------------------------------------
在本次搭建成功之后,我自己在网上找了个一个demo。运行看一下效果,结果问题来了,上述中我们在配置rabbitmq时,将其的用户名和密码分别换成了:rabbitadmin rabbitpwd 在连接虚拟机上的mq时,出现找不到用户,
我将密码和用户换了默认的guest guest 还是不行,报的没有权限,后来我在后台重新添加了guest用户(如下图)
成功运行;
还有一个问题就是在上面运行docker run 这段命令中,我们只讲15672端口打开了,而5672没有打开,所以我们要从从新将5672打开;即运行下面命令即可:
[[email protected] /]# docker run -d -p 5672:5672 rabbitmq:management
这样就可以了哦!