实现远程VHD选择服务集成,支持从配置文件中读取远程服务URL 添加NX_INS USB设备检测功能,支持从USB设备扫描和替换VHD文件 新增配置文件解析和HTTP客户端请求功能 优化VHD文件管理逻辑,支持关键词匹配和文件替换
3.2 KiB
3.2 KiB
Docker 部署故障排除指南
常见问题及解决方案
1. Docker镜像拉取失败
问题: failed to resolve source metadata for docker.io/library/node:18-alpine
原因: 网络连接问题或Docker Hub访问受限
解决方案:
方案A: 配置Docker镜像源(推荐)
# 创建或编辑Docker配置文件
# Windows: %USERPROFILE%\.docker\daemon.json
# Linux/macOS: /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
# 重启Docker服务
# Windows: 重启Docker Desktop
# Linux: sudo systemctl restart docker
方案B: 使用国内镜像
修改 Dockerfile 第一行:
# 原始
FROM node:18-alpine
# 替换为
FROM registry.cn-hangzhou.aliyuncs.com/library/node:18-alpine
方案C: 使用本地Node.js部署
npm install
npm start
2. 端口占用问题
问题: port is already allocated
解决方案:
# 查看端口占用
netstat -ano | findstr :8080 # Windows
lsof -i :8080 # Linux/macOS
# 停止占用端口的进程
taskkill /PID <PID> /F # Windows
kill -9 <PID> # Linux/macOS
# 或修改端口
docker-compose down
# 编辑 docker-compose.yml 中的端口映射
docker-compose up -d
3. 权限问题
问题: permission denied
解决方案:
# Linux/macOS
sudo chown -R $USER:$USER ./config
chmod 755 ./config
# Windows
# 右键config文件夹 -> 属性 -> 安全 -> 编辑权限
4. 配置文件不持久化
问题: 容器重启后配置丢失
检查:
# 确认卷映射
docker-compose ps
docker inspect vhd-select-server
# 检查配置目录
ls -la ./config/
解决方案:
# 确保config目录存在
mkdir -p config
# 检查docker-compose.yml中的volumes配置
# 应该包含: - ./config:/app/config
5. 容器无法启动
诊断步骤:
# 查看容器状态
docker-compose ps
# 查看详细日志
docker-compose logs vhd-select-server
# 进入容器调试
docker-compose exec vhd-select-server sh
# 检查配置
docker-compose config
6. 网络连接问题
问题: 无法访问 http://localhost:8080
检查:
# 确认容器运行状态
docker-compose ps
# 确认端口映射
docker port vhd-select-server
# 测试网络连接
curl http://localhost:8080/api/status
完全重置
如果遇到无法解决的问题,可以完全重置:
# 停止并删除所有容器
docker-compose down -v
# 删除本地镜像(如果有)
docker rmi lty271104/vhd-select-server:latest
# 清理Docker缓存
docker system prune -a
# 重新部署
docker-compose up -d
获取帮助
- 查看详细日志:
docker-compose logs -f - 检查Docker版本:
docker --version - 检查系统资源:
docker system df - 如果问题持续,请使用本地Node.js部署方式
性能优化
减少镜像大小
# 使用多阶段构建
FROM node:18-alpine AS builder
# ... 构建步骤
FROM node:18-alpine AS runtime
# ... 运行时步骤
加速构建
# 使用.dockerignore排除不必要文件
# 已包含在项目中
# 利用构建缓存
docker-compose build --parallel