在centos搭建rabbitmq并制作docker镜像

Posted 天河归来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在centos搭建rabbitmq并制作docker镜像相关的知识,希望对你有一定的参考价值。

在centos搭建rabbitmq并制作docker镜像

整体描述

项目中使用rabbitmq,由于项目都是用docker部署的,所以需要一个rabbitmq的docker镜像,记录一下搭建和制作镜像过程。

前期准备

1. 安装docker环境

这个网上也有很多教程,windows环境安装docker环境,本篇文章就不具体说明了。可以顺便安装个docker desktop,便于操作。

2. 下载centos7镜像

下载centos7的docker镜像,这个有很多源可以下载,可以找个国内的源,下载的能快点。
注:搭建过程需要对linux命令和docker命令有一定的了解。

3. 加载centos7镜像

有了centos7的docker镜像,需要加载此镜像,才能在docker中看到,具体命令如下:
注:其中【centos.7.61810.tar】为镜像名称。

docker load -i centos.7.61810.tar

创建完成之后,可以使用如下命令查看:或者在docker desktop里也能看见。

docker ps -a

在docker desktop中看到新加载的centos7镜像,直接启动,之后的操作都在此容器中进行。

搭建rabbitmq环境

准备工作完成,下面我们就开始正式搭建rabbitmq环境。

1. 安装erlang

由于rabbitmq使用erlang语言写的,所以第一步就是要安装erlang环境:

yum install erlang

如果出现如下错误,说明安装失败:

No package erlang available.

Error: Nothing to do

打开 /etc/yum.repos.d/检查是否有epel.repo文件。如果没有则创建文件:

cat>>epel.repo

文件内容如下:

[epel]  

name=Extra Packages for Enterprise Linux 7 - $basearch  

#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch

mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch

failovermethod=priority  

enabled=1  

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

然后再次安装Erlang,这回正常应该就安装成功了。输入如下命令可以查看erlang的信息:

[root@localhost rabbitmq]# erl

2. 安装socat和logrotate

这两个在安装rabbitmq时也会用,所以提前安装了,要不等会安装rabbitmq的时候也会报错。

yum -y install socat
yum -y install logrotate

3. 安装rabbitmq

rabbitmq官网下载安装包,这里会把所有版本都列出来,根据Erlang版本选择合适版本的RabbitMQ,这里使用RabbitMQ 3.6.8.release。
下载之后传到docker里,下载的应是一个rpm文件。使用如下命令安装:

rpm -ivh rabbitmq-server-3.6.8-1.el7.noarch.rpm

4. 运行rabbitmq

rabbitmq运行相关命令:

4.1 启动服务

systemctl start rabbitmq-server

4.2 停止服务

systemctl stop rabbitmq-server

4.3 查看RabbitMQ启动状态

systemctl status rabbitmq-server

4.4 重启服务

systemctl restart rabbitmq-server

5. 配置rabbitmq

5.1 创建用户

[root@localhost ~]# rabbitmqctl add_user test 123456

Creating user “test” …

5.2 给用户分配权限

rabbitmqctl set_permissions -p "/" test ".*" ".*" ".*"

Setting permissions for user “test” in vhost “/” …

5.3 查看用户列表

rabbitmqctl list_users

Listing users …

guest [administrator]

test []

5.4 分配用户标签为administrator

rabbitmqctl set_user_tags test administrator

Setting tags for user “test” to [administrator] …

5.5 开启管理页面插件,才可以使用web管理端

rabbitmq-plugins enable rabbitmq_management

此时,访问登录:http://IP:15672/#/ 即可查看rabbitmq的管理页面了。

6. 制作镜像

配置完成之后,使用如下命令制作镜像:

docker commit -a "author name" -m "rabbitmq image" 4eb8da4443ef rabbitmq:3.6.8

总结

至此,rabbitmq的镜像制作完成,目前还有个问题是,每次通过镜像生成容器之后,用户会丢失,这个问题是因为hostname改变引起的,具体可以百度一下,在此文章中就不写了。

以上是关于在centos搭建rabbitmq并制作docker镜像的主要内容,如果未能解决你的问题,请参考以下文章

centos6.9 搭建rabbitmq 3.6.8集群

CentOS7下安装RabbitMQ,并使用Spring Boot实现一个简单的延迟队列(小白教程,附源码)

Centos7.9搭建rabbitmq+haproxy+keepalived高可用集群

Centos7搭建RabbitMQ集群

RabbitMQ集群搭建

RabbitMQ centos7 搭建过程