#!/bin/bash -e #tar xvzf redis-7.0.7.tar.gz #sudo docker build -t hfy_redis:v7.0.7 . # 获取脚本运行所在路径 SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd) # 编译安装redis function installRedis(){ echo "欢迎本 redis 安装程序" _useConfig=$1 _installMode=$2 w1=1 cd $SCRIPT_DIR while [[ $w1 == 1 ]] do clear _Host="0.0.0.0" _Port=6543 _User="hfyredis" _Passwd="hfyredis28181" _dbName="gb_db" if [ "$_useConfig" == "1" ]; then echo "使用配置文件进行安装" redisHost=$redis_host redisPort=$redis_port redisPasswd=$redis_passwd redisDB=$redis_db w1=2 else echo "开始安装redis,请按照提示输入信息" if [ $_installMode == 2 ];then read -p "请输入连接地址($_Host): " redisHost fi redisHost=${redisHost:-$_Host} read -p "请输入redis外部端口($_Port): " redisPort redisPort=${redisPort:-$_Port} # read -p "请输入账户名($_User): " redisUser # redisUser=${redisUser:-$_User} read -p "请输入密码($_Passwd): " redisPasswd redisPasswd=${redisPasswd:-$_Passwd} read -p "请输入数据库($_dbName): " $redisDB redisDB=${redisDB:-$_dbName} # 修改参数 w2=1 while [[ $w2 == 1 ]] do echo " 国标平台Redis数据库信息 地址:$redisHost 端口:$redisPort 密码:$redisPasswd 数据库:$redisDB " echo "是否确认为此信息?y/n" read _yn if [[ $_yn == "y" ]] || [[ $_yn == "yes" ]] || [[ $_yn == "Y" ]] || [[ $_yn == "YES" ]] ; then echo "确认信息"; w1=2; break; elif [[ $_yn == "n" ]] || [[ $_yn == "n" ]] || [[ $_yn == "N" ]] || [[ $_yn == "NO" ]] ; then echo "重新输入" w2=2; else echo "---------------------" fi done fi done echo "数据库信息确认完成" if [ $_installMode == 2 ];then echo "导出密码" return 0 fi # 修改配置文件 sed -i \ -e "s/^port .*$/port $redisPort/g" \ -e "s/^requirepass .*$/requirepass $redisPasswd/g" \ $SCRIPT_DIR"/redis.conf"; docker build -t hfyredis:latest . docker stop hfy_redis docker rm hfy_redis docker run -it -p "$redisPort":"$redisPort" -v /data/redis:/data/redis -v /data/redis/logs:/data/redis/logs --name hfy_redis -itd hfyredis:latest } clear echo -e "\033[33m ---------------------------------------------- --------合方圆国标平台 Redis数据库安装程序--------- ---------------------------------------------- \033[0m"; echo -e "\033[35m 是否通过本安装程序来安装Redis? \033[0m"; PS3="请输入数字来选择安装方式:"; selectOption_1="自动安装并配置 Redis"; selectOption_2="已有 Redis 数据库,手动输入 Redis 相关信息"; select=("$selectOption_1" "$selectOption_2") installMode=$1 installMode=${installMode:-2} select fav in "${select[@]}";do case $fav in "$selectOption_1") echo "已选择 $fav" installRedis "$installMode" 1 break; ;; "$selectOption_2") echo "已选择 $fav " installRedis "$installMode" 2 break; ;; *) echo -e "\033[37m 请输入数字 1 或者 2 来选择 redis 的安装方式 \033[0m" ;; esac done echo "安装完成" cd ../