- 添加 Dockerfile 与多套 docker-compose 配置(开发/生产环境) - 集成 Laravel Octane (Swoole) 提升性能 - 新增健康检查、监控脚本及部署文档 - 新增 Docker 镜像离线导入包(MySQL/Redis/Meilisearch) - 优化文档转换、预览服务及队列任务 - 添加 CreateAdminUser 命令与路由健康检查接口 - 新增 Swoole 队列兼容性测试套件 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
106 lines
2.3 KiB
Bash
Executable File
106 lines
2.3 KiB
Bash
Executable File
#!/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" |