diff --git a/archive-manager.sh b/archive-manager.sh index ac7afb1..6ae0b32 100755 --- a/archive-manager.sh +++ b/archive-manager.sh @@ -263,12 +263,12 @@ services: - SPRING_PROFILES_ACTIVE=prod - SERVER_PORT=9081 # MySQL数据库配置 - - DB_HOST=mysql - - DB_PORT=3306 - - DB_NAME=enterprise_digital_archives - - DB_USERNAME=root - - DB_PASSWORD=Abc@123456 - - DB_DRIVER=com.mysql.cj.jdbc.Driver + - DB_HOST=mysql + - DB_PORT=3306 + - DB_NAME=enterprise_digital_archives + - DB_USERNAME=root + - DB_PASSWORD=Abc@123456 + - DB_DRIVER=com.mysql.cj.jdbc.Driver # Redis配置 - REDIS_HOST=redis - REDIS_PORT=6379 diff --git a/check-compose-yaml.sh b/check-compose-yaml.sh new file mode 100755 index 0000000..ea1a299 --- /dev/null +++ b/check-compose-yaml.sh @@ -0,0 +1,68 @@ +#!/bin/bash + +echo "=== Docker Compose YAML 格式检查 ===" +echo + +DEPLOY_DIR="/root/server/archive" +COMPOSE_FILE="$DEPLOY_DIR/docker-compose.yml" + +if [ ! -f "$COMPOSE_FILE" ]; then + echo "❌ docker-compose.yml 文件不存在: $COMPOSE_FILE" + echo "请先部署应用: ./archive-manager.sh deploy" + exit 1 +fi + +echo "✓ 找到 docker-compose.yml 文件" +echo + +echo "🔍 检查 YAML 语法..." + +# 使用 Python 检查 YAML 语法 +if command -v python3 &> /dev/null; then + python3 -c " +import yaml +import sys +try: + with open('$COMPOSE_FILE', 'r') as f: + yaml.safe_load(f) + print('✅ YAML 语法正确') +except yaml.YAMLError as e: + print(f'❌ YAML 语法错误: {e}') + sys.exit(1) +" +else + echo "⚠️ Python3 不可用,跳过语法检查" +fi + +echo +echo "🔍 检查 Docker Compose 配置..." + +# 检测 Docker Compose 命令类型 +if docker compose version &> /dev/null; then + COMPOSE_CMD="docker compose" +elif docker-compose version &> /dev/null; then + COMPOSE_CMD="docker-compose" +else + echo "❌ Docker Compose 不可用" + exit 1 +fi + +echo "使用命令: $COMPOSE_CMD" + +# 验证配置文件 +if $COMPOSE_CMD -f "$COMPOSE_FILE" config --quiet 2>/dev/null; then + echo "✅ Docker Compose 配置正确" +else + echo "❌ Docker Compose 配置错误" + echo "详细错误信息:" + $COMPOSE_CMD -f "$COMPOSE_FILE" config + exit 1 +fi + +echo +echo "📋 配置内容摘要:" +$COMPOSE_CMD -f "$COMPOSE_FILE" config --services + +echo +echo "=== 检查完成 ===" +echo "现在可以启动服务: ./archive-manager.sh start" \ No newline at end of file