基于docker的redis集群

发布于:2025-07-19 ⋅ 阅读:(19) ⋅ 点赞:(0)

1.使用docker-compose创建6个docker容器
2.在宿主机中编写docker-compose,yml(内容在流程后面)
3.在宿主机中创建挂载6个容器的目录
a.每个目录霞再分别创建conf,data,log三个目录
b.config目录下创建redis.conf(内容在流程后面)
c.在log目录项创建空文件:node.conf和redis.log
4.在包含docker-compose,yml的目录下运行docker compose up -d
5.进入每个docker容器并分别运行:/usr/local/bin/redis-server /redis/conf/redis.conf
6.随机在进入一个容器并运行:redis-cli --cluster create 172.18.0.8:6320 172.18.0.9:6321 172.18.0.10:6322 172.18.0.11:6323 172.18.0.12:6324 172.18.0.13:6325 --cluster-replicas 1
7.登录reids(redis-cli),运行cluster nodes,可以查看主从信息
redis.conf:

bind 0.0.0.0
cluster-enabled yes
cluster-config-file "/redis/log/nodes.conf"
cluster-node-timeout 5000
protected-mode no
port 6320 #不同的容器端口不一样
dir "/redis/data"
logfile "/redis/log/redis.log"
daemonize no
pidfile /var/run/redis_6320.pid #不同的容器端口不一样
appendonly yes

docker-compose.yml:

services:
  redis_200:
    image: redis
    networks:
      redis-network:
        ipv4_address: 172.18.0.8
    container_name: redis_cluster_200
    ports:
      - "6320:6379"
      - "16320:16379"
    volumes:
      - /redis_cluster/200:/redis
  redis_201:
    image: redis
    networks:
      redis-network:
        ipv4_address: 172.18.0.9
    container_name: redis_cluster_201
    ports:
      - "6321:6379"
      - "16321:16379"
    volumes:
      - /redis_cluster/201:/redis
  redis_202:
    image: redis
    networks:
      redis-network:
        ipv4_address: 172.18.0.10
    container_name: redis_cluster_202
    ports:
      - "6322:6379"
      - "16322:16379"
    volumes:
      - /redis_cluster/202:/redis
  redis_203:
    image: redis
    networks:
      redis-network:
        ipv4_address: 172.18.0.11
    container_name: redis_cluster_203
    ports:
      - "6323:6379"
      - "16323:16379"
    volumes:
      - /redis_cluster/203:/redis
  redis_204:
    image: redis
    networks:
      redis-network:
        ipv4_address: 172.18.0.12
    container_name: redis_cluster_204
    ports:
      - "6324:6379"
      - "16324:16379"
    volumes:
      - /redis_cluster/204:/redis
  redis_205:
    image: redis
    networks:
      redis-network:
        ipv4_address: 172.18.0.13
    container_name: redis_cluster_205
    ports:
      - "6325:6379"
      - "16325:16379"
    volumes:
      - /redis_cluster/205:/redis
networks:
  redis-network:
    external:
      true

网站公告

今日签到

点亮在社区的每一天
去签到