(1)、软件说明:
(2)修改 redis.conf
protected-mode no
port $REDIS_PORT # 这里很重要,变量脚本会读取环境变量替换成配置的port
appendonly yes
cluster-enabled yes
cluster-config-file nodes-6379.conf
protected‐mode no
(3)编写 Dockerfile 文件
FROM redis:5.0.12
COPY redis.conf /usr/local/etc/redis/redis.conf
COPY start.sh /start.sh
RUN chmod 777 /start.sh
CMD ["/./start.sh"]
(4)编写 redis.sh 脚本
sed -i 's/$REDIS_PORT/'+$REDIS_PORT+'/g' /usr/local/etc/redis/redis.conf
redis-server /usr/local/etc/redis/redis.conf
(5)编写 docker-compose.yml脚本
version: '3.8'
services:
redis-7000:
image: redis-cluster:latest # 注意这里的版本号 是自己构建docker 镜像版本
container_name: redis-7000
environment:
- REDIS_PORT=7000
network_mode: host
privileged: true
redis-7001:
image: redis-cluster:latest
container_name: redis-7001
network_mode: host
environment:
- REDIS_PORT=7001
privileged: true
redis-7002:
image: redis-cluster:latest
network_mode: host
container_name: redis-7002
environment:
- REDIS_PORT=7002
privileged: true
redis-7003:
image: redis-cluster:latest
container_name: redis-7003
network_mode: host
environment:
- REDIS_PORT=7003
privileged: true
redis-7004:
image: redis-cluster:latest
container_name: redis-7004
network_mode: host
environment:
- REDIS_PORT=7004
privileged: true
redis-7005:
image: redis-cluster:latest
container_name: redis-7005
network_mode: host
privileged: true
environment:
- REDIS_PORT=7005
(6)所有文件上传服务器

(7)依次执行命令
(验证集群)

转载注明出处