docker-compose.yml 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. services:
  2. zookeeper:
  3. image: registry.cn-chengdu.aliyuncs.com/reghao/zookeeper:3.8.4 # 生产环境建议锁定具体版本
  4. restart: always
  5. container_name: zookeeper
  6. ports:
  7. - "2181:2181"
  8. volumes:
  9. - /opt/docker/zookeeper/data:/data
  10. - /opt/docker/zookeeper/datalog:/datalog
  11. - /opt/docker/zookeeper/logs:/logs
  12. environment:
  13. ZOO_MY_ID: 1
  14. # 1. 自动清理快照和事务日志 (Data & DataLog)
  15. ZOO_AUTOPURGE_PURGEINTERVAL: 24
  16. ZOO_AUTOPURGE_SNAPRETAINCOUNT: 5
  17. # 2. 限制运行日志 (zookeeper.log) 的大小和数量
  18. # 格式: [日志级别], [Appender]
  19. # RollingFile: 滚动文件模式
  20. ZOO_LOG4J_PROP: "INFO, ROLLINGFILE"
  21. # 每个日志文件最大 100MB
  22. ZOO_LOG_MAXFILESIZE: "100MB"
  23. # 最多保留 10 个历史日志文件
  24. ZOO_LOG_MAXBACKUPINDEX: 10
  25. # 3. 资源配额与内存
  26. JVMFLAGS: "-Xms512m -Xmx512m"
  27. ZOO_MAX_CLIENT_CNXNS: 60
  28. deploy:
  29. resources:
  30. limits:
  31. cpus: '1.0'
  32. memory: 1G
  33. reservations:
  34. cpus: '0.5'
  35. memory: 512M
  36. logging:
  37. driver: "json-file"
  38. options:
  39. max-size: "100m"
  40. max-file: "3"
  41. healthcheck:
  42. # 使用官方提供的 zkServer.sh 状态检查工具
  43. test: ["CMD", "zkServer.sh", "status"]
  44. interval: 10s
  45. timeout: 5s
  46. retries: 3