目录

    • 1. 环境准备
      • 1.1 检查系统要求
      • 1.2 启用Windows功能
    • 2. 安装必要软件
      • 2.1 安装WSL2
      • 2.2 安装NVIDIA驱动
      • 2.3 安装Docker Desktop
    • 3. Docker配置
      • 3.1 配置Docker Desktop
      • 3.2 验证GPU支持
    • 4. 项目部署
      • 4.1 创建工作目录
      • 4.2 创建docker-compose.yml
    • 5. 启动服务
      • 5.1 拉取镜像
      • 5.2 启动服务
    • 6. 验证部署
      • 6.1 检查服务状态
      • 6.2 测试API
    • 7. 监控和管理
      • 7.1 使用Docker Desktop监控
      • 7.2 查看GPU使用
    • 8. 常见问题处理
      • 8.1 WSL2问题
      • 8.2 Docker问题
    • 9. 备份和维护
      • 9.1 数据备份
      • 9.2 日志管理

1. 环境准备

1.1 检查系统要求

  • Windows 10/11 专业版或企业版 (64位)
  • 至少16GB RAM
  • 支持虚拟化的CPU
  • NVIDIA GPU (建议16GB以上显存)

1.2 启用Windows功能

  1. 打开"控制面板" -> “程序和功能” -> “启用或关闭Windows功能”
  2. 勾选"Hyper-V"和"Windows Subsystem for Linux"
  3. 重启电脑

2. 安装必要软件

2.1 安装WSL2

# 在PowerShell(管理员)中运行
wsl --install

2.2 安装NVIDIA驱动

  1. 访问 NVIDIA驱动下载页面
  2. 选择对应显卡型号下载驱动
  3. 安装驱动程序

2.3 安装Docker Desktop

  1. 下载 Docker Desktop
  2. 运行安装程序
  3. 安装完成后重启电脑

3. Docker配置

3.1 配置Docker Desktop

  1. 打开Docker Desktop
  2. 进入Settings -> Resources -> WSL Integration
  3. 启用WSL2集成

3.2 验证GPU支持

docker run --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi

4. 项目部署

4.1 创建工作目录

# 在PowerShell中运行
mkdir D:\maxkb
mkdir D:\maxkb\models
mkdir D:\maxkb\data
mkdir D:\maxkb\logs

4.2 创建docker-compose.yml

使用记事本或VSCode创建配置文件:

version: '3.8'

services:
  maxkb-server:
    image: maxkb/server:latest
    container_name: maxkb-web
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      - DB_HOST=postgres
      - DB_PORT=5432
      - DB_NAME=maxkb
      - DB_USER=maxkb
      - DB_PASSWORD=maxkb@123
    volumes:
      - maxkb-data:/var/www/maxkb
    networks:
      - maxkb-network
    depends_on:
      postgres:
        condition: service_healthy

  postgres:
    image: postgres:16-alpine
    container_name: maxkb-db
    restart: unless-stopped
    environment:
      POSTGRES_DB: maxkb
      POSTGRES_USER: maxkb
      POSTGRES_PASSWORD: maxkb@123
    volumes:
      - postgres-data:/var/lib/postgresql/data
    networks:
      - maxkb-network
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U maxkb -d maxkb"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  postgres-data:
  maxkb-data:

networks:
  maxkb-network:
    driver: bridge

5. 启动服务

5.1 拉取镜像

在PowerShell中运行:

cd D:\maxkb
docker-compose pull

5.2 启动服务

docker-compose up -d

6. 验证部署

6.1 检查服务状态

docker ps
docker-compose ps

6.2 测试API

使用Postman或浏览器访问:

7. 监控和管理

7.1 使用Docker Desktop监控

打开Docker Desktop查看容器状态、日志和资源使用情况

7.2 查看GPU使用

使用任务管理器或NVIDIA控制面板查看GPU使用情况

8. 常见问题处理

8.1 WSL2问题

# 重启WSL
wsl --shutdown
wsl --start

8.2 Docker问题

  1. 重启Docker Desktop
  2. 检查事件日志
  3. 重置Docker到出厂设置

9. 备份和维护

9.1 数据备份

# 备份数据目录
Compress-Archive -Path D:\maxkb -DestinationPath D:\maxkb_backup.zip

9.2 日志管理

使用Docker Desktop查看和导出日志