大学网站建设情况汇报,网站抄袭我网站,flash全屏网站模板,用wex5可以做网站吗目录
1. 前期准备
2. 导入镜像
3. 部署redis master脚本
4. 部署redis slave脚本
5. 模板文件
6. 部署redis
7. 基本维护 1. 前期准备
新部署前可以从仓库#xff08;repository#xff09;下载 redis 镜像#xff0c;或者从已有部署中的镜像生成文件#xff1a;
…目录
1. 前期准备
2. 导入镜像
3. 部署redis master脚本
4. 部署redis slave脚本
5. 模板文件
6. 部署redis
7. 基本维护 1. 前期准备
新部署前可以从仓库repository下载 redis 镜像或者从已有部署中的镜像生成文件
# 查看当前本地镜像 docker images # 生成本地镜像文件 docker save IMAGE ID -o redis_503.tar
2. 导入镜像
# 在新部署的机器上导入镜像
docker load -i redis_503.tar
docker images
3. 部署redis master脚本
redis-master-deploy.sh 文件内容如下
#!/bin/bashif [ ! -n $1 ] ;thenecho 执行方式redis-master-deploy.sh 镜像 redis起始端口号如 redis-master-deploy.sh a.com:8443/dockerhub/redis:5.0.3 7001exit
fiif [ ! -n $2 ] ;thenecho 执行方式redis-master-deploy.sh 镜像 redis起始端口号如 redis-master-deploy.sh a.com:8443/dockerhub/redis:5.0.3 7001exit
fiimage${1//\//\\/}
port$2
len${#port}for ((var0; var$len; var))
doa${port:$var:1}if [ $var -eq 0 ]; thensentinel_port$(($a1))elif [ $var -eq $(($len-1)) ]; thensentinel_port${sentinel_port}1elsesentinel_port${sentinel_port}0fi
done# redis-server
for i in {1..16}
doold_port$((7000$i))new_port$(($port $i -1))sed_para$sed_paras/${old_port}/${new_port}/g;mkdir -p /usr/local/etc/redis/redis$i/cp -f ~/redis.conf.template /usr/local/etc/redis/redis$i/redis.confsed -i s/7001/${new_port}/g;s/redis1/redis${i}/g; /usr/local/etc/redis/redis$i/redis.conf
donecp -f ~/docker-compose-server.yml.template /usr/local/etc/redis/docker-compose.yml
sed -e ${sed_para} -i /usr/local/etc/redis/docker-compose.yml
sed -i s/a.com:8443\/dockerhub\/redis:5.0.3/${image}/g; /usr/local/etc/redis/docker-compose.yml# sentinel
mkdir -p /usr/local/etc/redis/sentinel/
cp -f ~/sentinel.conf.template /usr/local/etc/redis/sentinel/sentinel.conf
iphostname -I | awk {print $1}
sed -i s/172.18.29.56/${ip}/g;s/8001/${sentinel_port}/g; /usr/local/etc/redis/sentinel/sentinel.conf
sed -e ${sed_para} -i /usr/local/etc/redis/sentinel/sentinel.conf
cp -f ~/docker-compose-sentinel.yml.template /usr/local/etc/redis/sentinel/docker-compose.yml
sed -i s/a.com:8443\/dockerhub\/redis:5.0.3/${image}/g;s/8001/${sentinel_port}/g; /usr/local/etc/redis/sentinel/docker-compose.yml# start-all
chown -R polkitd:root /usr/local/etc/redis/
/usr/libexec/docker/cli-plugins/docker-compose -f /usr/local/etc/redis/docker-compose.yml up -d
/usr/libexec/docker/cli-plugins/docker-compose -f /usr/local/etc/redis/sentinel/docker-compose.yml up -d
4. 部署redis slave脚本
redis-slave-deploy.sh 文件内容如下
#!/bin/bashif [ ! -n $1 ] ;thenecho 执行方式redis-master-deploy.sh 镜像 redis起始端口号 master_ip如 redis-master-deploy.sh a.com:8443/dockerhub/redis:5.0.3 7001 172.18.29.56exit
fiif [ ! -n $2 ] ;thenecho 执行方式redis-master-deploy.sh 镜像 redis起始端口号 master_ip如 redis-master-deploy.sh a.com:8443/dockerhub/redis:5.0.3 7001 172.18.29.56exit
fiif [ ! -n $3 ] ;thenecho 执行方式redis-master-deploy.sh 镜像 redis起始端口号 master_ip如 redis-master-deploy.sh a.com:8443/dockerhub/redis:5.0.3 7001 172.18.29.56exit
fiimage${1//\//\\/}
port$2
len${#port}for ((var0; var$len; var))
doa${port:$var:1}if [ $var -eq 0 ]; thensentinel_port$(($a1))elif [ $var -eq $(($len-1)) ]; thensentinel_port${sentinel_port}1elsesentinel_port${sentinel_port}0fi
done# redis-server
for i in {1..16}
doold_port$((7000$i))new_port$(($port $i -1))sed_para$sed_paras/${old_port}/${new_port}/g;mkdir -p /usr/local/etc/redis/redis$i/cp -f ~/redis.conf.template /usr/local/etc/redis/redis$i/redis.confsed -i s/7001/${new_port}/g;s/redis1/redis${i}/g; /usr/local/etc/redis/redis$i/redis.conf
donecp -f ~/docker-compose-server.yml.template /usr/local/etc/redis/docker-compose.yml
sed -e ${sed_para} -i /usr/local/etc/redis/docker-compose.yml
sed -i s/a.com:8443\/dockerhub\/redis:5.0.3/${image}/g;s/172.18.29.56/$3/g; /usr/local/etc/redis/docker-compose.yml# sentinel
mkdir -p /usr/local/etc/redis/sentinel/
cp -f ~/sentinel.conf.template /usr/local/etc/redis/sentinel/sentinel.conf
# iphostname -I | awk {print $1}
sed -i s/172.18.29.56/$3/g;s/8001/${sentinel_port}/g; /usr/local/etc/redis/sentinel/sentinel.conf
sed -e ${sed_para} -i /usr/local/etc/redis/sentinel/sentinel.conf
cp -f ~/docker-compose-sentinel.yml.template /usr/local/etc/redis/sentinel/docker-compose.yml
sed -i s/a.com:8443\/dockerhub\/redis:5.0.3/${image}/g;s/8001/${sentinel_port}/g; /usr/local/etc/redis/sentinel/docker-compose.yml# start-all
chown -R polkitd:root /usr/local/etc/redis/
/usr/libexec/docker/cli-plugins/docker-compose -f /usr/local/etc/redis/docker-compose.yml up -d
/usr/libexec/docker/cli-plugins/docker-compose -f /usr/local/etc/redis/sentinel/docker-compose.yml up -d
5. 模板文件
docker-compose-sentinel.yml.template 文件内容如下
version: 3
services:sentinel:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-sentinelports:- 8001:8001command: redis-sentinel /sentinel/sentinel.confvolumes:- /usr/local/etc/redis/sentinel/:/sentinel
docker-compose-server.yml.template 文件内容如下
version: 3
services:master1:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master1restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7001:7001volumes:- /usr/local/etc/redis/redis1/:/redis1command: redis-server /redis1/redis.confmaster2:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master2restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7002:7002volumes:- /usr/local/etc/redis/redis2/:/redis2command: redis-server /redis2/redis.confmaster3:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master3restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7003:7003volumes:- /usr/local/etc/redis/redis3/:/redis3command: redis-server /redis3/redis.confmaster4:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master4restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7004:7004volumes:- /usr/local/etc/redis/redis4/:/redis4command: redis-server /redis4/redis.confmaster5:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master5restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7005:7005volumes:- /usr/local/etc/redis/redis5/:/redis5command: redis-server /redis5/redis.confmaster6:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master6restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7006:7006volumes:- /usr/local/etc/redis/redis6/:/redis6command: redis-server /redis6/redis.confmaster7:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master7restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7007:7007volumes:- /usr/local/etc/redis/redis7/:/redis7command: redis-server /redis7/redis.confmaster8:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master8restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7008:7008volumes:- /usr/local/etc/redis/redis8/:/redis8command: redis-server /redis8/redis.confmaster9:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master9restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7009:7009volumes:- /usr/local/etc/redis/redis9/:/redis9command: redis-server /redis9/redis.confmaster10:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master10restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7010:7010volumes:- /usr/local/etc/redis/redis10/:/redis10command: redis-server /redis10/redis.confmaster11:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master11restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7011:7011volumes:- /usr/local/etc/redis/redis11/:/redis11command: redis-server /redis11/redis.confmaster12:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master12restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7012:7012volumes:- /usr/local/etc/redis/redis12/:/redis12command: redis-server /redis12/redis.confmaster13:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master13restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7013:7013volumes:- /usr/local/etc/redis/redis13/:/redis13command: redis-server /redis13/redis.confmaster14:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master14restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7014:7014volumes:- /usr/local/etc/redis/redis14/:/redis14command: redis-server /redis14/redis.confmaster15:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master15restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7015:7015volumes:- /usr/local/etc/redis/redis15/:/redis15command: redis-server /redis15/redis.confmaster16:image: a.com:8443/dockerhub/redis:5.0.3container_name: redis-master16restart: alwaysenvironment:- TZAsia/Shanghaiports:- 7016:7016volumes:- /usr/local/etc/redis/redis16/:/redis16command: redis-server /redis16/redis.conf
redis.conf.template 文件内容如下
rename-command flushAll
daemonize no
port 7001
dir /redis1
pidfile /redis1/redis.pid
logfile /redis1/redis.log
dbfilename dump.rdb
save 900 1
appendonly no
appendfilename appendonly.aof
appendfsync always
maxmemory 500mb
maxmemory-policy volatile-lru
maxmemory-samples 3
slowlog-log-slower-than 10000
repl-backlog-size 64mb
timeout 0
repl-timeout 240requirepass 123456
masterauth 123456
protected-mode no
sentinel.conf.template 文件内容如下
port 8001
protected-mode no
dir /sentinelsentinel monitor redis1 172.18.29.56 7001 2
sentinel auth-pass redis1 123456
sentinel down-after-milliseconds redis1 5000
sentinel failover-timeout redis1 10000sentinel monitor redis2 172.18.29.56 7002 2
sentinel auth-pass redis2 123456
sentinel down-after-milliseconds redis2 5000
sentinel failover-timeout redis2 10000sentinel monitor redis3 172.18.29.56 7003 2
sentinel auth-pass redis3 123456
sentinel down-after-milliseconds redis3 5000
sentinel failover-timeout redis3 10000sentinel monitor redis4 172.18.29.56 7004 2
sentinel auth-pass redis4 123456
sentinel down-after-milliseconds redis4 5000
sentinel failover-timeout redis4 10000sentinel monitor redis5 172.18.29.56 7005 2
sentinel auth-pass redis5 123456
sentinel down-after-milliseconds redis5 5000
sentinel failover-timeout redis5 10000sentinel monitor redis6 172.18.29.56 7006 2
sentinel auth-pass redis6 123456
sentinel down-after-milliseconds redis6 5000
sentinel failover-timeout redis6 10000sentinel monitor redis7 172.18.29.56 7007 2
sentinel auth-pass redis7 123456
sentinel down-after-milliseconds redis7 5000
sentinel failover-timeout redis7 10000sentinel monitor redis8 172.18.29.56 7008 2
sentinel auth-pass redis8 123456
sentinel down-after-milliseconds redis8 5000
sentinel failover-timeout redis8 10000sentinel monitor redis9 172.18.29.56 7009 2
sentinel auth-pass redis9 123456
sentinel down-after-milliseconds redis9 5000
sentinel failover-timeout redis9 10000sentinel monitor redis10 172.18.29.56 7010 2
sentinel auth-pass redis10 123456
sentinel down-after-milliseconds redis10 5000
sentinel failover-timeout redis10 10000sentinel monitor redis11 172.18.29.56 7011 2
sentinel auth-pass redis11 123456
sentinel down-after-milliseconds redis11 5000
sentinel failover-timeout redis11 10000sentinel monitor redis12 172.18.29.56 7012 2
sentinel auth-pass redis12 123456
sentinel down-after-milliseconds redis12 5000
sentinel failover-timeout redis12 10000sentinel monitor redis13 172.18.29.56 7013 2
sentinel auth-pass redis13 123456
sentinel down-after-milliseconds redis13 5000
sentinel failover-timeout redis13 10000sentinel monitor redis14 172.18.29.56 7014 2
sentinel auth-pass redis14 123456
sentinel down-after-milliseconds redis14 5000
sentinel failover-timeout redis14 10000sentinel monitor redis15 172.18.29.56 7015 2
sentinel auth-pass redis15 123456
sentinel down-after-milliseconds redis15 5000
sentinel failover-timeout redis15 10000sentinel monitor redis16 172.18.29.56 7016 2
sentinel auth-pass redis16 123456
sentinel down-after-milliseconds redis16 5000
sentinel failover-timeout redis16 10000
6. 部署redis
# 在 redis master 机器执行
./redis-master-deploy.sh 0f88f9be5839 20001# 在 redis slave 机器执行
./redis-slave-deploy.sh 0f88f9be5839 20001 172.18.3.15
说明
一次创建16组redis一主两从实例需要模板文件 /root/*.templateimage、port为redis-master-deploy.sh命令行参数image、port、master_ip为redis-slave-deploy.sh命令行参数port为16个redis-server示例的起始端口例如port为7001将创建 7001 - 7016 16个实例先部署master再部署slave主从port参数必须相同本例同为7001哨兵端口位数与port参数相同定义为第一位为port的第一位加1最后一位为1中间位数为0。例如port 参数值为 20010则哨兵端口为30001port 参数值为 7001则哨兵端口为8001。
7. 基本维护
# 查看镜像
docker images
# 查看容器
docker ps
# 查看容器详细信息
docker inspect CONTAINER ID
# 重启容器
/usr/libexec/docker/cli-plugins/docker-compose -f /usr/local/etc/redis/docker-compose.yml down
/usr/libexec/docker/cli-plugins/docker-compose -f /usr/local/etc/redis/sentinel/docker-compose.yml down
/usr/libexec/docker/cli-plugins/docker-compose -f /usr/local/etc/redis/docker-compose.yml up -d
/usr/libexec/docker/cli-plugins/docker-compose -f /usr/local/etc/redis/sentinel/docker-compose.yml up -d