Files
geg-gas-doc/宝策/docker_redis.sh

134 lines
2.9 KiB
Bash
Raw Permalink Normal View History

2025-10-10 09:12:33 +08:00
#!/bin/bash
# Redis容器名称
CONTAINER_NAME="redis"
# Redis版本
REDIS_VERSION="7.0.2"
# 映射端口(主机:容器)
PORT="6379:6379"
# 密码
REDIS_PASSWORD="tdjj2HH0fva^2R"
# 网络配置
NETWORK="scm-net"
# 容器IP
CONTAINER_IP="172.20.0.2"
# 部署Redis
deploy() {
if [ "$(docker ps -q -f name=$CONTAINER_NAME)" ]; then
echo "Redis容器 $CONTAINER_NAME 已存在并运行中"
return 1
fi
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
echo "发现已停止的Redis容器正在启动..."
docker start $CONTAINER_NAME
return 0
fi
echo "开始部署Redis容器..."
docker run -itd --restart always \
--net=$NETWORK --ip=$CONTAINER_IP \
-p $PORT \
--name $CONTAINER_NAME \
redis:$REDIS_VERSION \
--requirepass $REDIS_PASSWORD
if [ $? -eq 0 ]; then
echo "Redis容器部署成功"
echo "容器名称: $CONTAINER_NAME"
echo "映射端口: $PORT"
else
echo "Redis容器部署失败"
fi
}
# 查看日志
logs() {
if [ ! "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
echo "Redis容器 $CONTAINER_NAME 不存在"
return 1
fi
echo "查看Redis容器日志 (按Ctrl+C退出)..."
docker logs -f --tail 200 $CONTAINER_NAME
}
# 重启容器
restart() {
if [ ! "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
echo "Redis容器 $CONTAINER_NAME 不存在"
return 1
fi
echo "正在重启Redis容器..."
docker restart $CONTAINER_NAME
if [ $? -eq 0 ]; then
echo "Redis容器重启成功"
else
echo "Redis容器重启失败"
fi
}
# 删除容器
remove() {
if [ ! "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
echo "Redis容器 $CONTAINER_NAME 不存在"
return 1
fi
echo "警告此操作将删除Redis容器"
read -p "确定要删除吗?(y/n) " confirm
if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then
echo "取消删除操作"
return 0
fi
echo "正在停止并删除Redis容器..."
docker stop $CONTAINER_NAME
docker rm $CONTAINER_NAME
if [ $? -eq 0 ]; then
echo "Redis容器删除成功"
else
echo "Redis容器删除失败"
fi
}
# 显示帮助
show_help() {
echo "Redis容器管理脚本"
echo "用法: $0 [命令]"
echo "命令列表:"
echo " deploy - 部署并启动Redis容器"
echo " logs - 查看Redis容器日志"
echo " restart - 重启Redis容器"
echo " remove - 删除Redis容器"
echo " help - 显示帮助信息"
}
# 主逻辑
case "$1" in
deploy)
deploy
;;
logs)
logs
;;
restart)
restart
;;
remove)
remove
;;
help)
show_help
;;
*)
echo "未知命令: $1"
show_help
exit 1
;;
esac