用docker-compose创建redis集群的最后一个步骤,就是使用redis-cli把启动起来的redis节点串联起来,可是redis-cli --cluster create有个交互的过程(需要输入"yes"),想问怎么在docker-compose里完成这整个操作呢
compose里的redis-cli服务配置:
redis-cli:
image: redis:5.0.1-alpine
depends_on:
- redis1
- redis2
- redis3
- redis4
- redis5
- redis6
links:
- redis1
- redis2
- redis3
- redis4
- redis5
- redis6
entrypoint:
- redis-cli
- --cluster
- create
- redis1:${client_port}
- redis2:${client_port}
- redis3:${client_port}
- redis4:${client_port}
- redis5:${client_port}
- redis6:${client_port}
- --cluster-replicas
- '1'
- -a
- ${client_pwd}
然后是启动起来以后出现的交互提示:
Attaching to redis-cluster_redis-cli_1_99db7133d585
redis-cli_1_99db7133d585 | Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
redis-cli_1_99db7133d585 | >>> Performing hash slots allocation on 6 nodes...
redis-cli_1_99db7133d585 | Master[0] -> Slots 0 - 5460
redis-cli_1_99db7133d585 | Master[1] -> Slots 5461 - 10922
redis-cli_1_99db7133d585 | Master[2] -> Slots 10923 - 16383
redis-cli_1_99db7133d585 | Adding replica redis4:6379 to redis1:6379
redis-cli_1_99db7133d585 | Adding replica redis5:6379 to redis2:6379
redis-cli_1_99db7133d585 | Adding replica redis6:6379 to redis3:6379
redis-cli_1_99db7133d585 | M: 3193369a87bdd75dec82dae302bfc703962b029f redis1:6379
redis-cli_1_99db7133d585 | slots:[0-5460] (5461 slots) master
redis-cli_1_99db7133d585 | M: a9085988e16f91ecb4ac37e39fb360b90f5f16bc redis2:6379
redis-cli_1_99db7133d585 | slots:[5461-10922] (5462 slots) master
redis-cli_1_99db7133d585 | M: 3e71facdb786284e5b4c65e396c72a1a2e08aff8 redis3:6379
redis-cli_1_99db7133d585 | slots:[10923-16383] (5461 slots) master
redis-cli_1_99db7133d585 | S: 0c8070d7dc8cd6288a7cd4495fb860a4190b0f54 redis4:6379
redis-cli_1_99db7133d585 | replicates 3193369a87bdd75dec82dae302bfc703962b029f
redis-cli_1_99db7133d585 | S: 8aa17809f2e74f8bb91ac0e5d14aa810036ccde7 redis5:6379
redis-cli_1_99db7133d585 | replicates a9085988e16f91ecb4ac37e39fb360b90f5f16bc
redis-cli_1_99db7133d585 | S: 3fed12ec7f67d6cd14b873155d3d956c0317bf39 redis6:6379
redis-cli_1_99db7133d585 | replicates 3e71facdb786284e5b4c65e396c72a1a2e08aff8
redis-cli_1_99db7133d585 | Can I set the above configuration? (type 'yes' to accept): redis-cluster_redis-cli_1_99db7133d585 exited with code 0
最后需要交互输入个yes,结果容器就退出了