RabbitMq快速搭建及配置(Dock大法)
以前我没得选,现在有了docker我想做个懒人🐼
刚开始接触消息中间件RabbitMq的同学肯定都被RabbitMq的安装愁坏了,看着视频教程感觉就够麻烦了。
他要对应相应的语言版本进行安装
RabbitMq一般都是安装在Linux系统上跑,你装一个windows版的搞那么熟练也没啥用啊
-
Linux下安装也挺麻烦的,而且真正在生产环境中,也不需要自己安装啊。
这里给出的理由都是一些偷懒的理由,虽然安装确实可以偷懒,但是博主这里还是得说一下,虽然我们有更好的办法进行配置环境,但是我们也得知道他具体的安装步骤和具体作用哦。这里我们就不说了,百度一大推。
我们来偷个懒。。
Start
找一台Linux机器并且在机器上安装docker
http://blog.51cto.com/13438667/2059926 windows安装Linux虚拟机 这里推荐centos
https://baike.baidu.com/item/Xshell/5659054?fr=aladdin Linux连接工具 Xshell
docker操作正式开始
因为博主也是虚拟机,所以docker没认真配置,所以需要管理员权限运行,真是线上建议别用管理员用户运行
-
查找rabbitmq镜像
root@mac-os:/home/hcy# docker search rabbitmq
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
rabbitmq RabbitMQ is an open source multi-protocol me… 2440 [OK]
bitnami/rabbitmq Bitnami Docker Image for RabbitMQ 25 [OK]
.......
选择自己对眼的喜欢的镜像进行pull下来,我这里选择rabbitmq:management
root@mac-os:/home/hcy# docker pull rabbitmq:management
pull过后查看是否存在于images中,本例中是第二个
root@mac-os:/home/hcy# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 7042885a156a 3 weeks ago 109MB
rabbitmq management d69a5113ceae 2 months ago 149MB
rabbitmq latest e8261c2af9fe 2 months ago 125MB
存在就表示这个docker镜像我们已经获取下来,接下来我们只需要来用它构建个容器就行
-
构建容器
root@mac-os:/home/hcy# docker run -d -p 15672:15672 -p 5672:5672 --hostname test rabbitmq:management
本例这里面在后台启动容器 (-d),映射两个重要端口(-p 15672:15672 -p 5672:5672),并没有映射文件夹,大家可以根据需要自行挂载,最重要的就是端口,15672端口是用来实现web管理页面的,5672端口是实现我们自己写得程序连接使用的
-
测试环境
- web管理页面测试
(http://) + docker所在机器的IP地址 +(:)+ 第二步你映射15672的端口号
//本例是 http://192.168.234.130:15672/#
首次进入是登录页面 管理员用户名:guest,默认密码:guest
- 程序连接测试(SpringBoot)
在配置文件里配置rabbitmq的信息
//docker所在机器的IP地址
spring.rabbitmq.host=192.168.234.130
//第二步你映射5672的端口号
spring.rabbitmq.port=5672
//登录名,我后来添加了这个用户
spring.rabbitmq.username=hcy
//登录密码,
spring.rabbitmq.password=hcy
//后来进入管理页面设置的virtual-host,默认是 /
spring.rabbitmq.virtual-host=/springboot-test
启动SpringBoot 控制台没出错就是连接成功
-
完结撒花
下次进入的时候,不用重新创建哦,因为容器你不删除是一直存在的,你连接不上去是因为他停止了,就相当于linux挂起了一样。
我们可以这样
root@mac-os:/home/hcy# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6b204e8e2805 rabbitmq:management "docker-entrypoint.s…" 2 days ago Exited (0) 3 seconds ago 4369/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp agitated_jang root@mac-os:/home/hcy# docker start 6b2 6b2
这里 `6b2`是容器id的缩写,其实`6b204e8e2805`也是缩写的,真正的特别长,嘿嘿。
docker start
启动后,可以在执行一下docker ps -a
哦,可以观察那个STATUS
是不是从Exited
变为UP
了