Selaa lähdekoodia

update ha/rabbitmq

reghao 3 viikkoa sitten
vanhempi
commit
35ce0d1965

+ 3 - 6
ha/rabbitmq/docker-compose1.yml

@@ -3,22 +3,19 @@ services:
     image: registry.cn-chengdu.aliyuncs.com/reghao/rabbitmq:3.13.7-management-alpine
     container_name: rabbitmq
     restart: always
-    hostname: node211 # 🚨 必须与物理机 hostname 一致
     network_mode: host
+    hostname: node211  # 关键:指定容器内的 hostname
     volumes:
       - /etc/localtime:/etc/localtime:ro
       - /opt/docker/rabbitmq/data:/var/lib/rabbitmq
       - /opt/docker/rabbitmq/log:/var/log/rabbitmq
+      # 挂载统一的 cookie
+      - /opt/docker/rabbitmq/.erlang.cookie:/var/lib/rabbitmq/.erlang.cookie
     environment:
       - RABBITMQ_DEFAULT_USER=test
       - RABBITMQ_DEFAULT_PASS=Test_123456
-      # 🚨 核心:三台机器的 Erlang Cookie 必须完全串联一致
-      - RABBITMQ_ERLANG_COOKIE=SecretRabbitCookie2026
       - RABBITMQ_VM_MEMORY_HIGH_WATERMARK_RELATIVE=0.4
       - RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT=2GB
-    # 让容器内也能识别三台机器的主机名
-    extra_hosts:
-      - "node211:192.168.0.211"
       - "node212:192.168.0.212"
       - "node213:192.168.0.213"
     deploy:

+ 2 - 3
ha/rabbitmq/docker-compose2.yml

@@ -3,21 +3,20 @@ services:
     image: registry.cn-chengdu.aliyuncs.com/reghao/rabbitmq:3.13.7-management-alpine
     container_name: rabbitmq
     restart: always
-    hostname: node212 # 🚨 必须与物理机 hostname 一致
     network_mode: host
+    hostname: node212  # 关键
     volumes:
       - /etc/localtime:/etc/localtime:ro
       - /opt/docker/rabbitmq/data:/var/lib/rabbitmq
       - /opt/docker/rabbitmq/log:/var/log/rabbitmq
+      - /opt/docker/rabbitmq/.erlang.cookie:/var/lib/rabbitmq/.erlang.cookie
     environment:
       - RABBITMQ_DEFAULT_USER=test
       - RABBITMQ_DEFAULT_PASS=Test_123456
-      - RABBITMQ_ERLANG_COOKIE=SecretRabbitCookie2026 # 🚨 保持一致
       - RABBITMQ_VM_MEMORY_HIGH_WATERMARK_RELATIVE=0.4
       - RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT=2GB
     extra_hosts:
       - "node211:192.168.0.211"
-      - "node212:192.168.0.212"
       - "node213:192.168.0.213"
     deploy:
       resources:

+ 2 - 3
ha/rabbitmq/docker-compose3.yml

@@ -3,22 +3,21 @@ services:
     image: registry.cn-chengdu.aliyuncs.com/reghao/rabbitmq:3.13.7-management-alpine
     container_name: rabbitmq
     restart: always
-    hostname: node213 # 🚨 必须与物理机 hostname 一致
     network_mode: host
+    hostname: node213  # 关键
     volumes:
       - /etc/localtime:/etc/localtime:ro
       - /opt/docker/rabbitmq/data:/var/lib/rabbitmq
       - /opt/docker/rabbitmq/log:/var/log/rabbitmq
+      - /opt/docker/rabbitmq/.erlang.cookie:/var/lib/rabbitmq/.erlang.cookie
     environment:
       - RABBITMQ_DEFAULT_USER=test
       - RABBITMQ_DEFAULT_PASS=Test_123456
-      - RABBITMQ_ERLANG_COOKIE=SecretRabbitCookie2026 # 🚨 保持一致
       - RABBITMQ_VM_MEMORY_HIGH_WATERMARK_RELATIVE=0.4
       - RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT=2GB
     extra_hosts:
       - "node211:192.168.0.211"
       - "node212:192.168.0.212"
-      - "node213:192.168.0.213"
     deploy:
       resources:
         limits:

+ 5 - 1
ha/rabbitmq/init_node1.sh

@@ -7,7 +7,11 @@ if [ -d ${base_dir} ]; then
     rm -rf ${base_dir}
 fi
 
-mkdir -p ${base_dir}
+mkdir -p ${base_dir}/data
+mkdir ${base_dir}/log
 chmod -R go+w ${base_dir}
 
+echo -n "MY_SECRET_COOKIE_123" > /opt/docker/rabbitmq/.erlang.cookie
+chmod 600 /opt/docker/rabbitmq/.erlang.cookie
+
 docker compose -f docker-compose1.yml up -d

+ 5 - 1
ha/rabbitmq/init_node2.sh

@@ -7,7 +7,11 @@ if [ -d ${base_dir} ]; then
     rm -rf ${base_dir}
 fi
 
-mkdir -p ${base_dir}
+mkdir -p ${base_dir}/data
+mkdir ${base_dir}/log
 chmod -R go+w ${base_dir}
 
+echo -n "MY_SECRET_COOKIE_123" > /opt/docker/rabbitmq/.erlang.cookie
+chmod 600 /opt/docker/rabbitmq/.erlang.cookie
+
 docker compose -f docker-compose2.yml up -d

+ 5 - 1
ha/rabbitmq/init_node3.sh

@@ -7,7 +7,11 @@ if [ -d ${base_dir} ]; then
     rm -rf ${base_dir}
 fi
 
-mkdir -p ${base_dir}
+mkdir -p ${base_dir}/data
+mkdir ${base_dir}/log
 chmod -R go+w ${base_dir}
 
+echo -n "MY_SECRET_COOKIE_123" > /opt/docker/rabbitmq/.erlang.cookie
+chmod 600 /opt/docker/rabbitmq/.erlang.cookie
+
 docker compose -f docker-compose3.yml up -d