version: ‘3’
services:
rabbit1:
container_name: rabbit1
image: rabbitmq:3.7-management-alpine
restart: always
hostname: rabbit1
extra_hosts:
-
“rabbit1:10.1.1.1”
-
“rabbit2:10.1.1.2”
environment:
-
RABBITMQ_ERLANG_COOKIE=MY_COOKIE
-
RABBITMQ_DEFAULT_USER=MY_USER
-
RABBITMQ_DEFAULT_PASS=MY_PASS
ports:
-
“4369:4369”
-
“5671:5671”
-
“5672:5672”
-
“15671:15671”
-
“15672:15672”
-
“25672:25672”
这样,10.1.1.1 上的 docker-compose 文件就写好了,部署另一台时,只要将 rabbit1
改成 rabbit2
就可以了。如果是更多台服务器的话,也是同样的道理,将 IP 配置到 extra_hosts
参数下即可。
启动服务
在两台服务器上分别执行:
docker-compose up -d
加入集群
如果将 rabbit1
作为主节点的话,需要在 rabbit2
上执行命令,将其加入到集群,如下:
docker exec -it rabbit2 /bin/bash
rabbit2# rabbitmqctl stop_app
rabbit2# rabbitmqctl reset
rabbit2# rabbitmqctl jo