編程小知識(shí)【docker-0006】docker常用鏡像安裝-redis(單機(jī)、集群)
docker pull redis:6.2.6
docker run -d -p 6379:6379 --name redis-6.2.6 \
--privileged=true --restart=always \
-v /opt/docker/redis-6.2.6/conf/redis.conf:/etc/redis/redis.conf \
-v /opt/docker/redis-6.2.6/data:/data redis:6.2.6 \
redis-server /etc/redis/redis.conf
1、準(zhǔn)備6份配置文件redis.conf,根據(jù)實(shí)際情況修改
#port(端口號(hào))
port ${PORT}
#masterauth(設(shè)置集群節(jié)點(diǎn)間訪問密碼,跟下面一致)
masterauth 123456
#requirepass(設(shè)置redis訪問密碼)
requirepass 123456
#cluster-enabled yes(啟動(dòng)集群模式)
cluster-enabled yes
#cluster-config-file nodes.conf(集群節(jié)點(diǎn)信息文件)
cluster-config-file nodes.conf
#cluster-node-timeout 5000(redis節(jié)點(diǎn)宕機(jī)被發(fā)現(xiàn)的時(shí)間)
cluster-node-timeout 5000
#cluster-announce-ip(集群節(jié)點(diǎn)的匯報(bào)ip,防止nat,預(yù)先填寫為網(wǎng)關(guān)ip后續(xù)需要手動(dòng)修改配置文件)
cluster-announce-ip 192.168.0.246
#cluster-announce-port(集群節(jié)點(diǎn)的匯報(bào)port,防止nat)
cluster-announce-port ${PORT}
#cluster-announce-bus-port(集群節(jié)點(diǎn)的匯報(bào)bus-port,防止nat)
cluster-announce-bus-port 1${PORT}
#appendonly yes(開啟aof)
appendonly yes
2、啟動(dòng)6個(gè)鏡像
docker run -d --net=host \
-v /home/fzp_ms/docker/redis/7379/conf/redis.conf:/etc/redis/redis.conf \
-v /home/fzp_ms/docker/redis/7379/data:/data \
--restart always --privileged=true --name=redis-7379 redis:6.2.6 redis-server /etc/redis/redis.conf
docker run -d --net=host \
-v /home/fzp_ms/docker/redis/7380/conf/redis.conf:/etc/redis/redis.conf \
-v /home/fzp_ms/docker/redis/7380/data:/data \
--restart always --privileged=true --name=redis-7380 redis:6.2.6 redis-server /etc/redis/redis.conf
docker run -d --net=host \
-v /home/fzp_ms/docker/redis/7381/conf/redis.conf:/etc/redis/redis.conf \
-v /home/fzp_ms/docker/redis/7381/data:/data \
--restart always --privileged=true --name=redis-7381 redis:6.2.6 redis-server /etc/redis/redis.conf
docker run -d --net=host \
-v /home/fzp_ms/docker/redis/7382/conf/redis.conf:/etc/redis/redis.conf \
-v /home/fzp_ms/docker/redis/7382/data:/data \
--restart always --privileged=true --name=redis-7382 redis:6.2.6 redis-server /etc/redis/redis.conf
docker run -d --net=host \
-v /home/fzp_ms/docker/redis/7383/conf/redis.conf:/etc/redis/redis.conf \
-v /home/fzp_ms/docker/redis/7383/data:/data \
--restart always --privileged=true --name=redis-7383 redis:6.2.6 redis-server /etc/redis/redis.conf
docker run -d --net=host \
-v /home/fzp_ms/docker/redis/7384/conf/redis.conf:/etc/redis/redis.conf \
-v /home/fzp_ms/docker/redis/7384/data:/data \
--restart always --privileged=true --name=redis-7384 redis:6.2.6 redis-server /etc/redis/redis.conf
3、進(jìn)入其中一臺(tái)要設(shè)定master的節(jié)點(diǎn)docker容器中,執(zhí)行初始化命令
# 進(jìn)入容器
docker exec -it 2cd952c5a343 bash
# 在容器內(nèi)執(zhí)行初始化命令
redis-cli -a sundun --cluster create 192.168.0.246:7379 192.168.0.246:7380 192.168.0.246:7381 192.168.0.246:7382 192.168.0.246:7383 192.168.0.246:7384 --cluster-replicas 1