Files
KnowledgeBase/docker/test-config.sh
lizhuoran 3c206e9e06 feat: 新增 Docker 部署支持、Swoole/Octane 集成及相关优化
- 添加 Dockerfile 与多套 docker-compose 配置(开发/生产环境)
- 集成 Laravel Octane (Swoole) 提升性能
- 新增健康检查、监控脚本及部署文档
- 新增 Docker 镜像离线导入包(MySQL/Redis/Meilisearch)
- 优化文档转换、预览服务及队列任务
- 添加 CreateAdminUser 命令与路由健康检查接口
- 新增 Swoole 队列兼容性测试套件

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 15:51:19 +08:00

106 lines
2.3 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Laravel知识库系统 - Docker配置测试脚本
set -e
echo "🧪 测试Docker配置..."
# 测试docker-compose配置语法
echo "📋 检查docker-compose.yml语法..."
if docker-compose config --quiet; then
echo "✅ docker-compose.yml语法正确"
else
echo "❌ docker-compose.yml语法错误"
exit 1
fi
# 测试Dockerfile语法
echo "🐳 检查Dockerfile语法..."
if [ -f "Dockerfile" ]; then
echo "✅ Dockerfile文件存在"
else
echo "❌ Dockerfile文件不存在"
exit 1
fi
# 检查必要的配置文件
echo "📁 检查配置文件..."
required_files=(
"docker/mysql/my.cnf"
"docker/redis/redis.conf"
"docker/php/php.ini"
"docker/supervisor/supervisord.conf"
)
for file in "${required_files[@]}"; do
if [ -f "$file" ]; then
echo "$file 存在"
else
echo "$file 不存在"
exit 1
fi
done
# 检查存储目录
echo "📂 检查存储目录..."
required_dirs=(
"storage/mysql"
"storage/redis"
"storage/meilisearch"
"storage/logs/app"
"storage/logs/queue"
)
for dir in "${required_dirs[@]}"; do
if [ -d "$dir" ]; then
echo "$dir 目录存在"
else
echo "⚠️ $dir 目录不存在,将创建..."
mkdir -p "$dir"
echo "$dir 目录已创建"
fi
done
# 检查脚本权限
echo "🔐 检查脚本权限..."
scripts=(
"docker/start-production.sh"
"docker/stop-production.sh"
"docker/check-services.sh"
)
for script in "${scripts[@]}"; do
if [ -x "$script" ]; then
echo "$script 可执行"
else
echo "⚠️ $script 不可执行,正在修复..."
chmod +x "$script"
echo "$script 权限已修复"
fi
done
# 检查环境变量模板
echo "🔧 检查环境配置..."
if [ -f ".env.production" ]; then
echo "✅ .env.production 模板存在"
else
echo "❌ .env.production 模板不存在"
exit 1
fi
if [ -f ".env" ]; then
echo "✅ .env 文件存在"
else
echo "⚠️ .env 文件不存在,建议复制 .env.production"
fi
echo ""
echo "🎉 Docker配置测试完成"
echo ""
echo "📝 下一步操作:"
echo "1. 复制环境配置: cp .env.production .env"
echo "2. 编辑环境配置: nano .env"
echo "3. 启动服务: ./docker/start-production.sh"
echo "4. 检查状态: ./docker/check-services.sh"