RabbitMQ是一个高可用的消息中间件,不过如果说直接在本地安装,会稍显复杂,因此我们通常使用Docker容器化部署管理RabbitMQ,下面,我就来分享一下过程。
1,拉取镜像
在拉取镜像之前,首先要说明一下RabbitMQ的镜像版本号。在官方的Dockerhub页面,可以发现有的镜像版本号带着management
字样:
那带这个标识与否,有什么区别呢?
在大家初次学习RabbitMQ的时候,许多教程都会说到RabbitMQ有一个网页管理界面,像这样的:
事实上,这个网页管理界面只是RabbitMQ的一个插件,也就是说,版本号带management
的,就内部集成了这个管理插件,否则就没有。
如果你使用的是不带management
的版本,那么部署得到的RabbitMQ就是没有这个管理页面的。
所以拉取镜像时,大家根据自己的需求拉取不同版本,当然这里还是推荐大家使用带有manegement
版本的。
docker pull rabbitmq:management
2,创建数据卷
保险起见,我们仍然是创建一个数据卷,专门用于持久化RabbitMQ的所有数据,方便管理:
docker volume create rabbitmq-home
3,创建并运行容器
通过下列命令:
docker run -id --name=rabbitmq -v rabbitmq-home:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=swsk33 -e RABBITMQ_DEFAULT_PASS=123456 rabbitmq:management
可见这里除了挂载数据卷之外,还暴露了两个端口,以及设定了两个环境变量:
15672
端口:RabbitMQ的管理页面端口5672
端口:RabbitMQ的消息接收端口RABBITMQ_DEFAULT_USER
环境变量:指定RabbitMQ的用户名,这里我指定为swsk33
,大家部署时替换成自己定义的RABBITMQ_DEFAULT_PASS
环境变量:指定RabbitMQ的密码,这里我指定为123456
,大家部署时替换成自己定义的
这样容器就部署完成了!在浏览器访问你的服务器地址:15672
即可访问到RabbitMQ的管理界面,用户名和密码即为刚刚指定的环境变量的配置值。
这里没有指定
LANG=C.UTF-8
,是因为RabbitMQ容器默认就是这个语言环境,无需我们再设定。
可见RabbitMQ容器是通过指定环境变量的方式进行配置的,这比修改配置文件便捷得多,还有更多的配置用的环境变量,大家可以参考官方文档。
参考: