- 设置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 lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum 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_plugins
cat > /data/rabbitmq-master/conf/rabbitmq.conf << EOF
loopback_users.guest = false
listeners.tcp.default = 5672
hipe_compile = false
management.listener.port = 15672
management.listener.ssl = false
EOF
运行容器、映射到宿主机,挂载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_plugins
cat > /data/rabbitmq-slave/conf/rabbitmq.conf << EOF
loopback_users.guest = false
listeners.tcp.default = 5672
hipe_compile = false
management.listener.port = 15672
management.listener.ssl = false
EOF
运行容器、映射到宿主机,挂载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