要在Docker中搭建Redis集群,可以按照以下步驟進行操作:
創建Docker網絡:在終端中運行以下命令創建一個新的Docker網絡。
docker network create redis-net
創建Redis主節點容器:運行以下命令創建3個Redis主節點容器。
docker run -d --name redis-master1 --net redis-net -p 7001:6379 redis:latest redis-server --appendonly yes --requirepass "password"
docker run -d --name redis-master2 --net redis-net -p 7002:6379 redis:latest redis-server --appendonly yes --requirepass "password"
docker run -d --name redis-master3 --net redis-net -p 7003:6379 redis:latest redis-server --appendonly yes --requirepass "password"
這將創建3個Redis容器并將它們連接到redis-net網絡中。每個容器都運行在不同的端口上,并使用--requirepass
參數設置了密碼為"password"。
創建Redis從節點容器:運行以下命令創建3個Redis從節點容器。
docker run -d --name redis-slave1 --net redis-net -p 7004:6379 redis:latest redis-server --appendonly yes --requirepass "password" --slaveof redis-master1 6379
docker run -d --name redis-slave2 --net redis-net -p 7005:6379 redis:latest redis-server --appendonly yes --requirepass "password" --slaveof redis-master2 6379
docker run -d --name redis-slave3 --net redis-net -p 7006:6379 redis:latest redis-server --appendonly yes --requirepass "password" --slaveof redis-master3 6379
這將創建3個Redis從節點容器,并使用--slaveof
參數將它們連接到對應的Redis主節點。
創建Redis哨兵容器:運行以下命令創建3個Redis哨兵容器。
docker run -d --name redis-sentinel1 --net redis-net -p 26379:26379 redis:latest redis-sentinel --sentinel announce-ip <IP地址> --sentinel announce-port 26379 --sentinel monitor mymaster redis-master1 6379 2
docker run -d --name redis-sentinel2 --net redis-net -p 26380:26379 redis:latest redis-sentinel --sentinel announce-ip <IP地址> --sentinel announce-port 26379 --sentinel monitor mymaster redis-master2 6379 2
docker run -d --name redis-sentinel3 --net redis-net -p 26381:26379 redis:latest redis-sentinel --sentinel announce-ip <IP地址> --sentinel announce-port 26379 --sentinel monitor mymaster redis-master3 6379 2
這將創建3個Redis哨兵容器,并使用--sentinel
參數將它們配置為監視對應的Redis主節點。
注意:在以上命令中,需要將<IP地址>
替換為主機的IP地址。
驗證集群搭建:通過Redis客戶端連接到任意一個主節點容器,并執行CLUSTER NODES
命令來驗證集群搭建是否成功。
docker exec -it redis-master1 redis-cli -a "password"
127.0.0.1:6379> CLUSTER NODES
如果成功搭建了Redis集群,將會看到各個節點的信息。
以上步驟將在Docker中搭建一個包含3個主節點、3個從節點和3個哨兵節點的Redis集群。