- 设置yum源
- 安装Docker-CE
- 设置开机自启动
- 验证
- 首先我们现在在服务器上安装主Rabbitmq容器主节点rabbitmq-master
#指定rabbitmq版本、这边与开发确认后获取最新版本 - 期望容器中的配置文件、数据、日志再容器异常关闭或主动删除后保留,则需要配置挂载
- https://hub.docker.com/_/rabbitmq上对应的官网操作中确认过的">容器对应配置文件路径都是从https://hub.docker.com/_/rabbitmq上对应的官网操作中确认过的
- 这边我用到了官方的配置文件,通过配置文件添加web管理端插件,
- 运行容器、映射到宿主机,挂载Volume
- 原本想在宿主机上收集日志的,添加了下列参数,发现虽然可以启动但是有报错,于是放弃
- 报错2019-04-11 12:11:13.765 [error] <0.109.0> Failed to open crash log file /var/log/rabbitmq/log/crash.log with error: permission denied
- 故按配置默认Logs:
标准输出,
#取消了-v /data/rabbitmq/logs/:/var/log/rabbitmq/log/ 参数
#记得登上去改密码或者按需求创建用户以及权限
#默认管理界面宿主机IP:15672 用户密码guest/guest
########################################################################
# 以上是主节点A的配置,接下来需要注意的是,宿主机上的端口5671,5672,15672,25672已 #
#经监听了rabbitmq-master的默认端口,故这边需要修改rabbitmq-slave节点在宿主机上的监 #
#听节点、配置文件、数据存放路径 #
########################################################################
#新建rabbitmq-slave配置文件、数据存放路径 - 这边我用到了官方的配置文件,通过配置文件添加web管理端插件,容器中
- 运行容器、映射到宿主机,挂载Volume
- 进入rabbitmq-slave容器
- 记得登上去改密码或者按需求创建用户以及权限
- 访问默认管理界面宿主机IP:15672 用户密码guest/guest
#可以看到两个节点都存在了
设置yum源
yum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum makecache fast
安装Docker-CE
yum -y install docker-ce
设置开机自启动
yum -y install docker-ce
验证
docker run hello-world
首先我们现在在服务器上安装主Rabbitmq容器主节点rabbitmq-master
#指定rabbitmq版本、这边与开发确认后获取最新版本
docker pull rabbitmq
期望容器中的配置文件、数据、日志再容器异常关闭或主动删除后保留,则需要配置挂载
容器对应配置文件路径都是从https://hub.docker.com/_/rabbitmq上对应的官网操作中确认过的
mkdir -p /data/rabbitmq-master/{conf,data,logs}
这边我用到了官方的配置文件,通过配置文件添加web管理端插件,
echo "[rabbitmq_management]." > /data/rabbitmq-master/conf/enabled_pluginscat > /data/rabbitmq-master/conf/rabbitmq.conf << EOFloopback_users.guest = falselisteners.tcp.default = 5672hipe_compile = falsemanagement.listener.port = 15672management.listener.ssl = falseEOF
运行容器、映射到宿主机,挂载Volume
docker run \--name rabbitmq-master \--hostname rabbit1 \-p 5671:5671 \-p 5672:5672 \-p 15672:15672 \-p 25672:25672 \-v /data/rabbitmq-master/conf/:/etc/rabbitmq/ \-e RABBITMQ_ERLANG_COOKIE='tenant.rabbitcookie' \-d rabbitmq
原本想在宿主机上收集日志的,添加了下列参数,发现虽然可以启动但是有报错,于是放弃
报错2019-04-11 12:11:13.765 [error] <0.109.0> Failed to open crash log file /var/log/rabbitmq/log/crash.log with error: permission denied
故按配置默认Logs: 标准输出,
#取消了-v /data/rabbitmq/logs/:/var/log/rabbitmq/log/ 参数
#记得登上去改密码或者按需求创建用户以及权限
#默认管理界面宿主机IP:15672 用户密码guest/guest
########################################################################
# 以上是主节点A的配置,接下来需要注意的是,宿主机上的端口5671,5672,15672,25672已 #
#经监听了rabbitmq-master的默认端口,故这边需要修改rabbitmq-slave节点在宿主机上的监 #
#听节点、配置文件、数据存放路径 #
########################################################################
#新建rabbitmq-slave配置文件、数据存放路径
mkdir -p /data/rabbitmq-slave/{conf,data,logs}
这边我用到了官方的配置文件,通过配置文件添加web管理端插件,容器中
echo "[rabbitmq_management]." > /data/rabbitmq-slave/conf/enabled_pluginscat > /data/rabbitmq-slave/conf/rabbitmq.conf << EOFloopback_users.guest = falselisteners.tcp.default = 5672hipe_compile = falsemanagement.listener.port = 15672management.listener.ssl = falseEOF
运行容器、映射到宿主机,挂载Volume
docker run \
--hostname rabbit2 \
--name rabbitmq-slave \
-p 5673:5671 \
-p 5674:5672 \
-p 15673:15672 \
-p 25673:25672 \
--link rabbitmq-master:rabbit1 \
-v /data/rabbitmq-master/conf/:/etc/rabbitmq/ \
-e RABBITMQ_ERLANG_COOKIE='tenant.rabbitcookie' \
-d rabbitmq
进入rabbitmq-slave容器
参数“—ram”表示设置为内存节点,忽略次参数默认为磁盘节点。当然也可以不加
docker exec -it $(docker ps -qn 1) bash
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbitmqctl start_app
