在centos搭建rabbitmq并制作docker镜像

在centos搭建rabbitmq并制作docker镜像

  • 整体描述
  • 前期准备
    • 1. 安装docker环境
    • 2. 下载centos7镜像
    • 3. 加载centos7镜像
  • 搭建rabbitmq环境
    • 1. 安装erlang
    • 2. 安装socat和logrotate
    • 3. 安装rabbitmq
    • 4. 运行rabbitmq
      • 4.1 启动服务
      • 4.2 停止服务
      • 4.3 查看RabbitMQ启动状态
      • 4.4 重启服务
    • 5. 配置rabbitmq
      • 5.1 创建用户
      • 5.2 给用户分配权限
      • 5.3 查看用户列表
      • 5.4 分配用户标签为administrator
      • 5.5 开启管理页面插件,才可以使用web管理端
    • 6. 制作镜像
  • 总结

整体描述

项目中使用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改变引起的,具体可以百度一下,在此文章中就不写了。

你可能感兴趣的:(java,笔记,后端,rabbitmq,centos,docker)