docker-compose.yml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. services:
  2. zoo1:
  3. image: registry.cn-chengdu.aliyuncs.com/reghao/zookeeper:3.8.4 # 生产环境建议锁定具体版本
  4. restart: always
  5. hostname: zoo1
  6. container_name: zoo1
  7. ports:
  8. - "2181:2181"
  9. volumes:
  10. - ./data/zoo1/data:/data
  11. - ./data/zoo1/datalog:/datalog
  12. environment:
  13. ZOO_MY_ID: 1
  14. ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
  15. # 限制 JVM 内存,通常设为容器限制的 70-80%
  16. JVMFLAGS: "-Xms512m -Xmx512m"
  17. deploy:
  18. resources:
  19. limits:
  20. cpus: '1.0'
  21. memory: 1G
  22. reservations:
  23. cpus: '0.5'
  24. memory: 512M
  25. healthcheck:
  26. test: ["CMD-SHELL", "echo ruok | nc localhost 2181 | grep imok"]
  27. interval: 10s
  28. timeout: 5s
  29. retries: 3
  30. zoo2:
  31. image: registry.cn-chengdu.aliyuncs.com/reghao/zookeeper:3.8.4
  32. restart: always
  33. hostname: zoo2
  34. container_name: zoo2
  35. ports:
  36. - "2182:2181"
  37. volumes:
  38. - ./data/zoo2/data:/data
  39. - ./data/zoo2/datalog:/datalog
  40. environment:
  41. ZOO_MY_ID: 2
  42. ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
  43. JVMFLAGS: "-Xms512m -Xmx512m"
  44. deploy:
  45. resources:
  46. limits:
  47. cpus: '1.0'
  48. memory: 1G
  49. healthcheck:
  50. test: ["CMD-SHELL", "echo ruok | nc localhost 2181 | grep imok"]
  51. interval: 10s
  52. timeout: 5s
  53. retries: 3
  54. zoo3:
  55. image: registry.cn-chengdu.aliyuncs.com/reghao/zookeeper:3.8.4
  56. restart: always
  57. hostname: zoo3
  58. container_name: zoo3
  59. ports:
  60. - "2183:2181"
  61. volumes:
  62. - ./data/zoo3/data:/data
  63. - ./data/zoo3/datalog:/datalog
  64. environment:
  65. ZOO_MY_ID: 3
  66. ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
  67. JVMFLAGS: "-Xms512m -Xmx512m"
  68. deploy:
  69. resources:
  70. limits:
  71. cpus: '1.0'
  72. memory: 1G
  73. healthcheck:
  74. test: ["CMD-SHELL", "echo ruok | nc localhost 2181 | grep imok"]
  75. interval: 10s
  76. timeout: 5s
  77. retries: 3