DOCKER_DEPLOYMENT.md 2.3 KB

后端 Docker 部署指南

快速开始

1. 准备配置文件

cd backend
copy config.docker.yaml config.yaml

编辑 config.yaml,修改以下关键配置:

jwt:
  secret_key: "你的安全密钥"  # 必须修改!

oauth:
  enabled: true/false  # 根据需要启用
  # ... 其他 OAuth 配置

2. 启动服务

Windows:

cd backend\scripts
docker-build.bat
docker-start.bat

Linux/Mac:

cd backend
chmod +x scripts/*.sh
./scripts/docker-build.sh
./scripts/docker-start.sh

或直接使用 docker-compose:

cd backend
docker-compose up -d

3. 验证服务

# 健康检查
curl http://localhost:8000/health

# API 文档
浏览器访问: http://localhost:8000/docs

常用命令

操作 命令
构建镜像 docker build -t lq-label-backend:latest .
启动服务 docker-compose up -d
停止服务 docker-compose down
查看日志 docker-compose logs -f
重启服务 docker-compose restart
进入容器 docker exec -it lq-label-backend bash

数据持久化

数据库文件存储在 backend/data/ 目录,通过 Docker volume 挂载:

backend/
├── data/
│   └── annotation_platform.db  # SQLite 数据库
└── config.yaml                  # 配置文件

生产环境配置

1. 生成安全密钥

python -c "import secrets; print(secrets.token_urlsafe(32))"

2. 修改 config.yaml

jwt:
  secret_key: "生成的安全密钥"

server:
  reload: false  # 关闭热重载

3. 配置反向代理(可选)

使用 Nginx 作为反向代理:

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

故障排查

容器无法启动

# 查看详细日志
docker-compose logs

# 检查配置文件
docker exec lq-label-backend cat /app/config.yaml

数据库连接问题

# 检查数据目录权限
ls -la backend/data/

# 进入容器检查
docker exec -it lq-label-backend ls -la /app/data/

端口冲突

修改 docker-compose.yml 中的端口映射:

ports:
  - "8001:8000"  # 改为其他端口