This commit is contained in:
zt195510
2025-06-23 14:14:03 +08:00
parent 3e0a80fd35
commit 036d2e2fd9
7 changed files with 226 additions and 6 deletions
+56 -3
View File
@@ -63,8 +63,61 @@ docker run -d -p 80:80 --name 91writing-prod 91writing:prod
## 故障排查
### 快速诊断工具
```bash
# Windows
scripts\debug.bat
# Linux/Mac
chmod +x scripts/debug.sh
./scripts/debug.sh
```
### 查看错误日志
```bash
# 查看构建过程错误
docker-compose build --no-cache
# 查看容器启动日志
docker-compose logs
# 实时跟踪日志
docker-compose logs -f
# 前台启动查看详细输出
docker-compose --profile dev up
```
### 常见问题
1. 端口被占用 - 修改 docker-compose.yml 中的端口映射
2. 构建失败 - 使用 docker builder prune 清理缓存
3. 容器无法启动 - 查看 docker-compose logs 获取错误信息
1. **端口被占用**
```bash
# 检查端口占用
netstat -tulpn | grep :3000
# 修改 docker-compose.yml 中的端口映射
```
2. **构建失败**
```bash
# 清理构建缓存
docker builder prune
# 重新构建
docker-compose build --no-cache
```
3. **容器无法启动**
```bash
# 查看详细错误信息
docker-compose logs
# 检查容器状态
docker-compose ps
```
4. **权限问题(Linux**
```bash
# 将用户添加到docker组
sudo usermod -aG docker $USER
newgrp docker
```
-2
View File
@@ -1,5 +1,3 @@
version: '3.8'
services:
# 开发环境
app-dev:
+15
View File
@@ -0,0 +1,15 @@
[Unit]
Description=91Writing Docker Application
Requires=docker.service
After=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/path/to/91Writing
ExecStart=/usr/bin/docker-compose --profile prod up -d
ExecStop=/usr/bin/docker-compose --profile prod down
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
+53
View File
@@ -0,0 +1,53 @@
@echo off
chcp 65001 >nul
echo 🔍 91Writing Docker 调试工具
echo ================================
REM 检查Docker状态
echo 1. 检查Docker状态...
docker info >nul 2>&1
if %errorlevel% neq 0 (
echo ❌ Docker未运行或未安装
pause
exit /b 1
) else (
echo ✅ Docker正常运行
)
REM 检查Docker Compose
echo 2. 检查Docker Compose...
docker-compose --version >nul 2>&1
if %errorlevel% neq 0 (
echo ❌ Docker Compose未安装
pause
exit /b 1
) else (
echo ✅ Docker Compose可用
docker-compose --version
)
REM 检查端口占用
echo 3. 检查端口占用...
echo 检查3000端口:
netstat -an | findstr :3000
if %errorlevel% neq 0 echo 端口3000空闲
echo 检查80端口:
netstat -an | findstr :80
if %errorlevel% neq 0 echo 端口80空闲
REM 检查现有容器
echo 4. 检查现有容器...
docker-compose ps
REM 尝试构建镜像
echo 5. 尝试构建镜像...
docker-compose build
REM 查看最近的日志
echo 6. 查看最近的日志...
docker-compose logs --tail=50
echo ================================
echo 调试完成!请查看上述信息来定位问题。
pause
+45
View File
@@ -0,0 +1,45 @@
#!/bin/bash
echo "🔍 91Writing Docker 调试工具"
echo "================================"
# 检查Docker状态
echo "1. 检查Docker状态..."
if ! docker info > /dev/null 2>&1; then
echo "❌ Docker未运行或未安装"
exit 1
else
echo "✅ Docker正常运行"
fi
# 检查Docker Compose
echo "2. 检查Docker Compose..."
if ! docker-compose --version > /dev/null 2>&1; then
echo "❌ Docker Compose未安装"
exit 1
else
echo "✅ Docker Compose可用"
docker-compose --version
fi
# 检查端口占用
echo "3. 检查端口占用..."
echo "检查3000端口:"
netstat -tulpn 2>/dev/null | grep :3000 || echo "端口3000空闲"
echo "检查80端口:"
netstat -tulpn 2>/dev/null | grep :80 || echo "端口80空闲"
# 检查现有容器
echo "4. 检查现有容器..."
docker-compose ps
# 尝试构建镜像
echo "5. 尝试构建镜像..."
docker-compose build 2>&1
# 查看最近的日志
echo "6. 查看最近的日志..."
docker-compose logs --tail=50
echo "================================"
echo "调试完成!请查看上述信息来定位问题。"
+50
View File
@@ -0,0 +1,50 @@
#!/bin/bash
echo "🚀 使用Docker Run启动开发环境..."
# 检查Docker是否运行
if ! docker info > /dev/null 2>&1; then
echo "❌ Docker未运行,请先启动Docker"
exit 1
fi
# 停止并删除现有容器
echo "🛑 清理现有容器..."
docker stop 91writing-dev 2>/dev/null || true
docker rm 91writing-dev 2>/dev/null || true
# 构建开发镜像
echo "🔨 构建开发镜像..."
docker build --target development -t 91writing:dev .
if [ $? -ne 0 ]; then
echo "❌ 镜像构建失败"
exit 1
fi
# 运行开发容器
echo "🎯 启动开发容器..."
docker run -d \
--name 91writing-dev \
-p 3000:3000 \
-v $(pwd):/app \
-v /app/node_modules \
-e NODE_ENV=development \
--restart unless-stopped \
91writing:dev
# 等待容器启动
echo "⏳ 等待容器启动..."
sleep 5
# 检查容器状态
if docker ps | grep -q "91writing-dev"; then
echo "✅ 开发环境启动成功!"
echo "🌐 访问地址: http://localhost:3000"
echo "📋 查看日志: docker logs -f 91writing-dev"
echo "🛑 停止容器: docker stop 91writing-dev"
echo "🗑️ 删除容器: docker rm 91writing-dev"
else
echo "❌ 容器启动失败,查看日志:"
docker logs 91writing-dev
fi
+7 -1
View File
@@ -25,6 +25,12 @@ export default defineConfig({
},
server: {
port: 3000,
open: true
open: false,
host: '0.0.0.0',
allowedHosts: [
'localhost',
'127.0.0.1',
'abc.ztgametv.cn'
]
}
})