mirror of
https://github.com/ponysb/91Writing.git
synced 2026-08-31 00:39:24 +08:00
提交
This commit is contained in:
+56
-3
@@ -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
|
||||
```
|
||||
@@ -1,5 +1,3 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
# 开发环境
|
||||
app-dev:
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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 "调试完成!请查看上述信息来定位问题。"
|
||||
@@ -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
@@ -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'
|
||||
]
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user