Skip to content

容器化与部署

14.1 项目打包 Docker 镜像

14.1.1 Dockerfile 编写

dockerfile
FROM python:3.10-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

EXPOSE 8000

CMD ["python", "app.py"]

14.1.2 构建镜像

bash
docker build -t rag-app:latest .

14.1.3 镜像优化

  • 使用多阶段构建
  • 减少镜像层数
  • 清理缓存文件

14.2 Docker Compose 一键部署

14.2.1 docker-compose.yml 编写

yaml
version: '3.8'

services:
  app:
    build: .
    ports:
      - "8000:8000"
    environment:
      - OPENAI_API_KEY=${OPENAI_API_KEY}
    volumes:
      - ./data:/app/data
    depends_on:
      - milvus

  milvus:
    image: milvusdb/milvus:latest
    ports:
      - "19530:19530"
    volumes:
      - milvus_data:/var/lib/milvus

volumes:
  milvus_data:

14.2.2 启动服务

bash
docker-compose up -d

14.3 本地 / 服务器 / 云平台部署

14.3.1 本地部署

  • 开发环境搭建
  • 本地测试运行
  • 调试和优化

14.3.2 服务器部署

  • 物理服务器部署
  • 虚拟机部署
  • 配置管理和监控

14.3.3 云平台部署

  • AWS、Azure、GCP
  • 阿里云、腾讯云、华为云
  • Serverless 部署

14.4 本章小结

  • 学习了 Docker 镜像打包方法
  • 掌握了 Docker Compose 一键部署
  • 了解了本地、服务器、云平台部署方案
  • 熟悉了容器化部署的最佳实践