创建docker-compose.yml 文件
version: '3.8'
services:
rabbitmq1:
image: rabbitmq:management
container_name: rabbitmq1
restart: always
hostname: rabbitmq1
ports:
- "5672:5672"
- "15672:15672"
volumes:
- /opt/docker_volume/rabbitmq/rabbitmq1/data:/var/lib/rabbitmq
- /opt/docker_compose_yml/rabbitmq/rabbitmq-ram.sh:/opt/rabbitmq/rabbitmq-ram.sh
- /opt/docker_compose_yml/rabbitmq/rabbitmq-disk.sh:/opt/rabbitmq/rabbitmq-disk.sh
- /opt/docker_compose_yml/rabbitmq/hosts:/etc/hosts
environment:
- RABBITMQ_DEFAULT_USER=root
- RABBITMQ_DEFAULT_PASS=root
- RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION
networks:
rabbitmq:
ipv4_address: 172.25.0.2
rabbitmq2:
image: rabbitmq:management
container_name: rabbitmq2
restart: always
hostname: rabbitmq2
ports:
- "5673:5672"
volumes:
- /opt/docker_volume/rabbitmq/rabbitmq2/data:/var/lib/rabbitmq
- /opt/docker_compose_yml/rabbitmq/rabbitmq-ram.sh:/opt/rabbitmq/rabbitmq-ram.sh
- /opt/docker_compose_yml/rabbitmq/rabbitmq-disk.sh:/opt/rabbitmq/rabbitmq-disk.sh
- /opt/docker_compose_yml/rabbitmq/hosts:/etc/hosts
environment:
- RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION
networks:
rabbitmq:
ipv4_address: 172.25.0.3
rabbitmq3:
image: rabbitmq:management
container_name: rabbitmq3
restart: always
hostname: rabbitmq3
ports:
- "5674:5672"
volumes:
- /opt/docker_volume/rabbitmq/rabbitmq3/data:/var/lib/rabbitmq
- /opt/docker_compose_yml/rabbitmq/rabbitmq-ram.sh:/opt/rabbitmq/rabbitmq-ram.sh
- /opt/docker_compose_yml/rabbitmq/rabbitmq-disk.sh:/opt/rabbitmq/rabbitmq-disk.sh
- /opt/docker_compose_yml/rabbitmq/hosts:/etc/hosts
environment:
- RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION
networks:
rabbitmq:
ipv4_address: 172.25.0.4
networks:
rabbitmq:
driver: bridge
ipam:
config:
- subnet: "172.25.0.1/24"
创建/opt/docker_compose_yml/rabbitmq/rabbitmq-ram.sh脚本
disk存储
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@rabbitmq1
rabbitmqctl start_app
创建/opt/docker_compose_yml/rabbitmq/rabbitmq-disk.sh脚本
ram存储
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbitmq1
rabbitmqctl start_app
创建/opt/docker_compose_yml/rabbitmq/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.25.0.2 rabbitmq1
172.25.0.3 rabbitmq2
172.25.0.4 rabbitmq3
运行容器
docker-compose up -d
分别进入从节点容器(本文中从节点是 rabbitmq1, rabbitmq3,rabbitmq2),启动脚本
docker exec -it rabbitmq1 bash
bash /opt/rabbitmq/rabbitmq-ram.sh #ram储存
#或者
bash /opt/rabbitmq/rabbitmq-disk.sh #硬盘储存
以下提供直接简单的方式:直接设置环境启动集群
version: '3.8'
services:
rabbitmq1:
image: rabbitmq:management
container_name: rabbitmq1
restart: always
hostname: rabbitmq1
ports:
- "5672:5672"
- "15672:15672"
volumes:
- /opt/docker_volume/rabbitmq/rabbitmq1/data:/var/lib/rabbitmq
environment:
- RABBITMQ_DEFAULT_USER=root
- RABBITMQ_DEFAULT_PASS=root
- RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION
- RABBITMQ_NODENAME:rabbitmq1
networks:
- rabbitmq
rabbitmq2:
image: rabbitmq:management
container_name: rabbitmq2
restart: always
hostname: rabbitmq2
ports:
- "5673:5672"
volumes:
- /opt/docker_volume/rabbitmq/rabbitmq2/data:/var/lib/rabbitmq
environment:
- RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION
- RABBITMQ_NODENAME:rabbitmq2
- RABBITMQ_CLUSTERED=true
- RABBITMQ_CLUSTER_WITH=rabbit@rabbitmq1
- RABBITMQ_RAM_NODE=true
networks:
- rabbitmq
rabbitmq3:
image: rabbitmq:management
container_name: rabbitmq3
restart: always
hostname: rabbitmq3
ports:
- "5674:5672"
volumes:
- /opt/docker_volume/rabbitmq/rabbitmq3/data:/var/lib/rabbitmq
environment:
- RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION
- RABBITMQ_NODENAME:rabbitmq3
- RABBITMQ_CLUSTERED=true
- RABBITMQ_CLUSTER_WITH=rabbit@rabbitmq1
- RABBITMQ_RAM_NODE=true
networks:
- rabbitmq
networks:
rabbitmq:
driver: bridge
Name Command State Ports
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rabbitmq1 docker-entrypoint.sh rabbi ... Up 15671/tcp, 0.0.0.0:15672->15672/tcp, 15691/tcp, 15692/tcp, 25672/tcp, 4369/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp
rabbitmq2 docker-entrypoint.sh rabbi ... Up 15671/tcp, 0.0.0.0:15673->15672/tcp, 15691/tcp, 15692/tcp, 25672/tcp, 4369/tcp, 5671/tcp, 0.0.0.0:5673->5672/tcp
rabbitmq3 docker-entrypoint.sh rabbi ... Up 15671/tcp, 15672/tcp, 15691/tcp, 15692/tcp, 25672/tcp, 4369/tcp, 5671/tcp, 0.0.0.0:5674->5672/tcp
网友评论