Commit 3b422146 by 晏艳红

添加Docker网络问题解决方案

- 创建docker-network-fix.bat网络修复工具
- 更新文档添加网络连接问题的详细解决方案
- 提供Docker镜像源配置指南
- 包含手动拉取镜像的方法
- 添加网络诊断和代理配置说明
parent c14f9c68
# 绩效计分系统 - Docker 部署指南
# 绩效计分系统 - Docker 部署指南
......@@ -204,16 +204,38 @@ docker inspect performance-score-frontend > container-config-backup.json
### 常见问题
#### 1. 端口被占用
#### 1. 网络连接问题(无法拉取镜像)
```bash
# 错误信息:failed to fetch oauth token 或 connectex: A connection attempt failed
# 解决方案:
# 方法1:配置Docker镜像源(推荐)
# 在Docker Desktop设置中添加镜像源:
# - https://docker.mirrors.ustc.edu.cn
# - https://hub-mirror.c.163.com
# - https://mirror.baidubce.com
# 方法2:使用代理
# 在Docker Desktop设置中配置HTTP代理
# 方法3:重试构建
docker compose build --no-cache --pull
# 方法4:手动拉取镜像
docker pull node:18-alpine
docker pull nginx:alpine
```
#### 2. 端口被占用
```bash
# 检查端口占用
netstat -tulpn | grep 4001
netstat -an | findstr :4001
# 修改端口映射
# 编辑 compose.yml 中的 ports 配置
```
#### 2. 构建失败
#### 3. 构建失败
```bash
# 清理Docker缓存
docker system prune -a
......@@ -222,7 +244,7 @@ docker system prune -a
docker compose build --no-cache
```
#### 3. 容器无法启动
#### 4. 容器无法启动
```bash
# 查看详细错误信息
docker compose logs performance-score-frontend
......@@ -231,7 +253,7 @@ docker compose logs performance-score-frontend
docker ps -a
```
#### 4. 访问403错误
#### 5. 访问403错误
```bash
# 检查nginx配置
docker exec performance-score-frontend nginx -t
......
......@@ -91,6 +91,42 @@ docker compose -f docker-compose.prod.yml down
## 📞 故障排除
### 网络连接问题(最常见)
如果遇到以下错误:
- `failed to fetch oauth token`
- `connectex: A connection attempt failed`
- `dial tcp xxx:443: connectex`
**快速解决方案:**
```bash
# 运行网络修复工具
./docker-network-fix.bat
```
**手动解决方案:**
1. **配置Docker镜像源(推荐)**
- 打开 Docker Desktop 设置
- 选择 "Docker Engine"
- 添加镜像源配置:
```json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
```
2. **手动拉取镜像**
```bash
docker pull node:18-alpine
docker pull nginx:alpine
docker compose build --no-cache
```
### 如果提示 "docker-compose: command not found"
这说明您使用的是旧版本,请:
......
@echo off
chcp 65001 >nul
echo ========================================
echo Docker 网络问题修复工具
echo ========================================
echo.
echo 🔍 检测到可能的网络连接问题
echo.
echo 常见错误信息:
echo - "failed to fetch oauth token"
echo - "connectex: A connection attempt failed"
echo - "dial tcp xxx:443: connectex"
echo.
echo 📋 解决方案选择:
echo 1. 配置国内镜像源(推荐)
echo 2. 手动拉取镜像
echo 3. 清理并重试
echo 4. 检查网络连接
echo 5. 显示详细帮助
echo 6. 退出
echo.
:MENU
set /p choice=请选择解决方案 (1-6):
if "%choice%"=="1" goto MIRRORS
if "%choice%"=="2" goto PULL
if "%choice%"=="3" goto CLEAN
if "%choice%"=="4" goto NETWORK
if "%choice%"=="5" goto HELP
if "%choice%"=="6" goto EXIT
echo 无效选项,请重新选择
goto MENU
:MIRRORS
echo.
echo 🌐 配置Docker镜像源
echo.
echo 请按以下步骤操作:
echo.
echo 1. 打开 Docker Desktop
echo 2. 点击右上角设置图标 (齿轮)
echo 3. 选择 "Docker Engine"
echo 4. 在配置中添加以下内容:
echo.
echo {
echo "registry-mirrors": [
echo "https://docker.mirrors.ustc.edu.cn",
echo "https://hub-mirror.c.163.com",
echo "https://mirror.baidubce.com"
echo ]
echo }
echo.
echo 5. 点击 "Apply & Restart"
echo 6. 等待 Docker 重启完成
echo.
echo 配置完成后,重新运行: docker compose up -d
echo.
pause
goto MENU
:PULL
echo.
echo 📥 手动拉取所需镜像
echo.
echo 正在尝试拉取 node:18-alpine...
docker pull node:18-alpine
if %errorlevel% neq 0 (
echo ❌ 拉取 node:18-alpine 失败
) else (
echo ✅ node:18-alpine 拉取成功
)
echo.
echo 正在尝试拉取 nginx:alpine...
docker pull nginx:alpine
if %errorlevel% neq 0 (
echo ❌ 拉取 nginx:alpine 失败
) else (
echo ✅ nginx:alpine 拉取成功
)
echo.
echo 镜像拉取完成,现在尝试构建...
docker compose build --no-cache
echo.
pause
goto MENU
:CLEAN
echo.
echo 🧹 清理Docker缓存并重试
echo.
echo 正在清理Docker系统...
docker system prune -f
echo.
echo 正在重新构建镜像...
docker compose build --no-cache --pull
echo.
echo 清理完成
pause
goto MENU
:NETWORK
echo.
echo 🔍 网络连接检查
echo.
echo 检查DNS解析...
nslookup docker.io
echo.
echo 检查网络连通性...
ping -n 4 docker.io
echo.
echo 检查HTTPS连接...
curl -I https://docker.io 2>nul
if %errorlevel% neq 0 (
echo ❌ 无法连接到 docker.io
echo 可能需要配置代理或使用镜像源
) else (
echo ✅ 网络连接正常
)
echo.
pause
goto MENU
:HELP
echo.
echo 📖 详细帮助信息
echo.
echo 问题原因:
echo - 网络连接不稳定
echo - DNS解析问题
echo - 防火墙或代理设置
echo - Docker Hub访问限制
echo.
echo 解决步骤:
echo 1. 首先尝试配置镜像源(选项1)
echo 2. 如果仍有问题,检查网络连接(选项4)
echo 3. 考虑配置HTTP代理
echo 4. 联系网络管理员检查防火墙设置
echo.
echo 代理配置:
echo 在Docker Desktop设置中的"Resources" → "Proxies"
echo 配置HTTP和HTTPS代理服务器
echo.
echo 企业网络:
echo 如果在企业网络中,可能需要:
echo - 配置企业代理
echo - 添加证书信任
echo - 联系IT部门获取帮助
echo.
pause
goto MENU
:EXIT
echo.
echo 💡 温馨提示:
echo.
echo 如果问题仍然存在,建议:
echo 1. 检查网络连接和代理设置
echo 2. 尝试使用手机热点测试
echo 3. 联系网络管理员
echo 4. 查看Docker官方文档
echo.
echo 👋 祝您使用愉快!
exit /b 0
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment