自己学Docker:16.Docker使用实战--部署带Web管理工具的RabbitMQ

来源:互联网 发布:足球比赛 编排软件 编辑:程序博客网 时间:2024/06/10 10:46

RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统。
因为RabbitMQ由Erlang实现,本机部署的话还要安装Erlang的开发环境,成本难免高些。然而,借助Docker的话,环境部署便会非常便捷。这次来使用docker快速搭建带web管理功能的RabbitMQ的环境。

查找镜像

通过dockerhub搜索,可以找到官方的RabbitMQ镜像。
在网页的tag标签页下会列出所有可用的tag。
当我们使用命令:

sudo docker pull rabbitmq

默认使用的RabbitMQ最新的新镜像。
目前最新的是3.6,通过查看他的rabbitmq/3.6/debian/Dockerfile生成文件,可以发现并没有我们需要的rabbitmq_management。
所以,需要去tag查找下,带rabbitmq_management功能的tag是什么。通过查找,使用的tag是management,或者版本号-3.6-management。
这里写图片描述

这样在使用镜像时,就可以使用针对的版本了。

sudo docker pull rabbitmq:management

创建镜像

创建容器使用如下命令:

sudo docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management

命令很简单:run创建容器,-d后台运行,–name命名容器为rabbitmq,-p将容器内端口映射到本机。
至于为什么要映射这些端口,可以通过查看rabbitmq:management的Dockerfile文件找到原因。
首先,rabbitmq:management的Dockerfile最后指出:

EXPOSE 15671 15672

所以,web管理服务最终使用容器内的这两个端口。
其次,rabbitmq:management的Dockerfile开始的时候指明:

FROM rabbitmq:3.6

所以rabbitmq:management的Dockerfile是基于rabbitmq镜像创建的,rabbitmq的Dockerfile文件最后定义了:

EXPOSE 4369 5671 5672 25672

所以,容器使用的所有端口就明确了。

成功创建容器后,就可以访问web 管理端了 http://127.0.0.1:15672,默认创建了一个 guest 用户,密码也是 guest。
这里写图片描述

最后,使用Docker搭建RabbitMQ环境,就是这么简单,至于RabbitMQ相关的东西,还是很多的,仅作简介,RabbitMQ是实现高级消息队列协议(AMQP)的开源消息中间件,建立在用于集群和故障转移的开放式平台框架上。 支持Python,Java,Ruby,PHP,C#,JavaScript,Go,Elixir,Objective-C,Swift等主要编程语言。

阅读全文
0 0
原创粉丝点击