docker-compose-1.yml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. services:
  2. rabbitmq:
  3. image: registry.cn-chengdu.aliyuncs.com/reghao/rabbitmq:3.13.7-management-alpine
  4. container_name: rabbitmq
  5. restart: always
  6. hostname: node211 # 🚨 必须与物理机 hostname 一致
  7. ports:
  8. - "5672:5672"
  9. - "15672:15672"
  10. - "25672:25672" # 🚨 必须暴露:集群节点间通信端口
  11. - "4369:4369" # 🚨 必须暴露:EPMD 端口
  12. volumes:
  13. - /etc/localtime:/etc/localtime:ro
  14. - /opt/docker/rabbitmq/data:/var/lib/rabbitmq
  15. - /opt/docker/rabbitmq/log:/var/log/rabbitmq
  16. environment:
  17. - RABBITMQ_DEFAULT_USER=test
  18. - RABBITMQ_DEFAULT_PASS=Test_123456
  19. # 🚨 核心:三台机器的 Erlang Cookie 必须完全串联一致
  20. - RABBITMQ_ERLANG_COOKIE=SecretRabbitCookie2026
  21. - RABBITMQ_VM_MEMORY_HIGH_WATERMARK_RELATIVE=0.4
  22. - RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT=2GB
  23. # 让容器内也能识别三台机器的主机名
  24. extra_hosts:
  25. - "node211:192.168.0.211"
  26. - "node212:192.168.0.212"
  27. - "node213:192.168.0.213"
  28. deploy:
  29. resources:
  30. limits:
  31. cpus: '1.0'
  32. memory: 1024M
  33. reservations:
  34. cpus: '0.1'
  35. memory: 512M
  36. logging:
  37. driver: "json-file"
  38. options:
  39. max-size: "100m"
  40. max-file: "3"