docker-compose.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. version: "3.7"
  2. x-default:
  3. &defaults
  4. privileged: true
  5. build:
  6. context: redis-cluster
  7. restart: always
  8. stdin_open: true
  9. tty: true
  10. services:
  11. redis1:
  12. <<: *defaults
  13. container_name: redis1
  14. ports:
  15. - "0.0.0.0:6379:6379"
  16. - "0.0.0.0:16379:16379"
  17. volumes:
  18. - ./redis-cluster/conf/redis1.conf:/etc/redis.conf:rw
  19. - ${DATA_PATH}/redis1:/data:rw
  20. redis2:
  21. <<: *defaults
  22. container_name: redis2
  23. ports:
  24. - "0.0.0.0:6380:6379"
  25. - "0.0.0.0:16380:16379"
  26. volumes:
  27. - ./redis-cluster/conf/redis2.conf:/etc/redis.conf:rw
  28. - ${DATA_PATH}/redis2:/data:rw
  29. redis3:
  30. <<: *defaults
  31. container_name: redis3
  32. ports:
  33. - "0.0.0.0:6381:6379"
  34. - "0.0.0.0:16381:16379"
  35. volumes:
  36. - ./redis-cluster/conf/redis3.conf:/etc/redis.conf:rw
  37. - ${DATA_PATH}/redis3:/data:rw
  38. redis4:
  39. <<: *defaults
  40. container_name: redis4
  41. ports:
  42. - "0.0.0.0:6382:6379"
  43. - "0.0.0.0:16382:16379"
  44. volumes:
  45. - ./redis-cluster/conf/redis4.conf:/etc/redis.conf:rw
  46. - ${DATA_PATH}/redis4:/data:rw
  47. depends_on:
  48. - redis1
  49. - redis2
  50. - redis3
  51. redis5:
  52. <<: *defaults
  53. container_name: redis5
  54. ports:
  55. - "0.0.0.0:6383:6379"
  56. - "0.0.0.0:16383:16379"
  57. volumes:
  58. - ./redis-cluster/conf/redis5.conf:/etc/redis.conf:rw
  59. - ${DATA_PATH}/redis5:/data:rw
  60. depends_on:
  61. - redis1
  62. - redis2
  63. - redis3
  64. redis6:
  65. <<: *defaults
  66. container_name: redis6
  67. ports:
  68. - "0.0.0.0:6384:6379"
  69. - "0.0.0.0:16384:16379"
  70. volumes:
  71. - ./redis-cluster/conf/redis6.conf:/etc/redis.conf:rw
  72. - ${DATA_PATH}/redis6:/data:rw
  73. depends_on:
  74. - redis1
  75. - redis2
  76. - redis3
  77. redis_cluster_creator:
  78. container_name: redis_cluster_creator
  79. privileged: true
  80. image: redis:5.0.11
  81. entrypoint: [ /bin/sh,-c,'echo "yes" | redis-cli --cluster create 172.17.0.1:6379 172.17.0.1:6380 172.17.0.1:6381 172.17.0.1:6382 172.17.0.1:6383 172.17.0.1:6384 --cluster-replicas 1' ]
  82. ports:
  83. - "0.0.0.0:6385:6379"
  84. - "0.0.0.0:16385:16379"
  85. depends_on:
  86. - redis1
  87. - redis2
  88. - redis3
  89. - redis4
  90. - redis5
  91. - redis6
  92. # redis_cluster_creator:
  93. # container_name: redis_cluster_creator
  94. # privileged: true
  95. # ports:
  96. # - "0.0.0.0:6385:6379"
  97. # - "0.0.0.0:16385:16379"
  98. # build:
  99. # context: redis-cluster-creator
  100. # depends_on:
  101. # - redis1
  102. # - redis2
  103. # - redis3
  104. # - redis4
  105. # - redis5
  106. # - redis6