天天看点

docker常用镜像安装-redis(单机、集群)

作者:退役程序员老马

#头条创作挑战赛#

单机部署

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           

集群部署(3主3从)

1、准备6份配置文件redis.conf,根据实际情况修改

#port(端口号)
port ${PORT}
#masterauth(设置集群节点间访问密码,跟下面一致)
masterauth 123456
#requirepass(设置redis访问密码)
requirepass 123456
#cluster-enabled yes(启动集群模式)
cluster-enabled yes
#cluster-config-file nodes.conf(集群节点信息文件)
cluster-config-file nodes.conf
#cluster-node-timeout 5000(redis节点宕机被发现的时间)
cluster-node-timeout 5000
#cluster-announce-ip(集群节点的汇报ip,防止nat,预先填写为网关ip后续需要手动修改配置文件)
cluster-announce-ip 192.168.0.246
#cluster-announce-port(集群节点的汇报port,防止nat)
cluster-announce-port ${PORT}
#cluster-announce-bus-port(集群节点的汇报bus-port,防止nat)
cluster-announce-bus-port 1${PORT}
#appendonly yes(开启aof)  
appendonly yes           

2、启动6个镜像

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、进入其中一台要设定master的节点docker容器中,执行初始化命令

# 进入容器
docker exec -it 2cd952c5a343 bash
# 在容器内执行初始化命令
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           

继续阅读