Files
schoolNews/docker/init-volumes.sh
2025-11-24 16:53:17 +08:00

71 lines
3.1 KiB
Bash
Executable File

#!/bin/bash
##############################################
# 初始化 Docker Volumes 目录
# 用途:创建所有命名卷需要的本地目录
##############################################
echo "========================================"
echo "初始化 Docker Volumes 目录"
echo "========================================"
# 获取脚本所在目录
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
VOLUMES_DIR="${SCRIPT_DIR}/volumes"
echo "创建目录: ${VOLUMES_DIR}"
# 创建所有卷目录(分层结构)
echo "创建数据目录..."
mkdir -p "${VOLUMES_DIR}/mysql/data"
mkdir -p "${VOLUMES_DIR}/redis/data"
mkdir -p "${VOLUMES_DIR}/redis/config"
mkdir -p "${VOLUMES_DIR}/serv/config"
mkdir -p "${VOLUMES_DIR}/serv/logs"
mkdir -p "${VOLUMES_DIR}/serv/uploads"
mkdir -p "${VOLUMES_DIR}/serv/crawler" # 可选,如需运行时更新爬虫可取消注释
mkdir -p "${VOLUMES_DIR}/web/config"
mkdir -p "${VOLUMES_DIR}/web/logs"
mkdir -p "${VOLUMES_DIR}/nginx/config"
mkdir -p "${VOLUMES_DIR}/nginx/logs"
# 复制配置文件模板
echo "复制配置文件模板..."
[ -f redis/redis.conf ] && cp redis/redis.conf "${VOLUMES_DIR}/redis/config/" || echo " ⚠️ redis.conf 不存在"
[ -f mysql/my.cnf ] && cp mysql/my.cnf "${VOLUMES_DIR}/mysql/" || echo " ⚠️ my.cnf 不存在"
[ -f config/application.yml ] && cp config/application.yml "${VOLUMES_DIR}/serv/config/" || echo " ⚠️ application.yml 不存在"
[ -f config/log4j2-spring.xml ] && cp config/log4j2-spring.xml "${VOLUMES_DIR}/serv/config/" || echo " ⚠️ log4j2-spring.xml 不存在"
[ -f config/web-app-config.js ] && cp config/web-app-config.js "${VOLUMES_DIR}/web/config/app-config.js" || echo " ⚠️ web-app-config.js 不存在"
[ -f nginx/nginx.conf ] && cp -r nginx/* "${VOLUMES_DIR}/nginx/config/" || echo " ⚠️ nginx配置 不存在"
[ -d ../schoolNewsCrawler ] && cp -r ../schoolNewsCrawler/* "${VOLUMES_DIR}/serv/crawler/" || echo " ⚠️ 爬虫脚本 不存在" # 可选
echo ""
echo "✅ 目录创建完成:"
tree -L 2 "${VOLUMES_DIR}" 2>/dev/null || ls -la "${VOLUMES_DIR}"
echo ""
echo "========================================"
echo "目录结构说明:"
echo "========================================"
echo "volumes/"
echo "├── mysql/"
echo "│ └── data/ - MySQL数据库数据"
echo "├── redis/"
echo "│ ├── data/ - Redis缓存数据"
echo "│ └── config/ - Redis配置文件"
echo "├── serv/"
echo "│ ├── config/ - 后端配置文件"
echo "│ ├── logs/ - 后端服务日志"
echo "│ ├── uploads/ - 后端上传文件"
echo "│ └── crawler/ - 爬虫脚本(可选,默认在镜像内)"
echo "├── web/"
echo "│ ├── config/ - 前端配置文件"
echo "│ └── logs/ - 前端服务日志"
echo "└── nginx/"
echo " ├── config/ - Nginx配置文件"
echo " └── logs/ - Nginx访问日志"
echo ""
echo "✅ 初始化完成!现在可以启动服务了:"
echo " docker-compose up -d"
echo "========================================"