首页 / 知识库 / 系统架构体系 / docker入门

07 - AI 开发者常用技巧

核心你已经掌握了。这一章是几个 AI 开发场景里特别用得上的实用技巧,了解即可,用到时再回来查。

1. 数据卷 -v:模型/数据不要打包进镜像

AI 项目经常有几个 GB 的模型文件。如果把模型 COPY 进镜像,镜像会巨大无比,每次改代码都要重新打包,非常痛苦。

正确做法:模型放在主机上,用 -v 挂载进容器。

docker run -d -p 8000:8000 \
  -v /home/me/models:/app/models \
  my-ai-app
  • -v 主机目录:容器目录:把主机的 /home/me/models 挂到容器里的 /app/models
  • 好处:模型不进镜像,镜像小;换模型不用重新 build;容器内外共享同一份数据。

记忆:代码进镜像,大文件(模型、数据集)用 -v 挂载。

2. 环境变量 -e:管理 API Key 等配置

调用大模型 API 需要密钥,千万不要把密钥写死在代码里、打进镜像。用环境变量传进去:

docker run -d -p 8000:8000 \
  -e OPENAI_API_KEY=sk-xxxxxx \
  my-ai-app

代码里用 os.getenv("OPENAI_API_KEY") 读取。这样同一个镜像,不同环境用不同的密钥,安全又灵活。

3. 后台运行与排错

docker run -d ...        # -d 后台运行,不占终端
docker logs ai           # 看日志
docker logs -f ai        # 实时跟踪日志(-f = follow)
docker exec -it ai bash  # 进容器内部排查问题

排错三板斧:docker ps 看在不在跑 → docker logs 看报什么错 → docker exec 进去查。

4. 直接用现成的 AI 镜像

很多 AI 工具/框架官方都提供了镜像,拿来即用,省去配环境:

  • pytorch/pytorch:官方 PyTorch 环境,省去装 PyTorch + CUDA 的麻烦。
  • ollama/ollama:一条命令在本地跑大模型。例如:
docker run -d -p 11434:11434 --name ollama ollama/ollama
docker exec -it ollama ollama run llama3
  • 很多向量数据库(如 qdrantchroma)也有官方镜像,做 RAG 时直接拉起来用。

5. 用 GPU(需要 NVIDIA 显卡)

想让容器用上 GPU 跑模型,加一个 --gpus all

docker run --gpus all -d my-ai-app

前提:主机要装好 NVIDIA 驱动和 NVIDIA Container Toolkit。这块配置略复杂,用到时单独查官方文档即可,这里先知道”有这么个东西”。

6. 让镜像更小、构建更快(进阶意识)

  • -slim 版本的基础镜像(如 python:3.11-slim)而不是完整版。
  • 善用 .dockerignore 排除无关文件。
  • 把不常变的步骤(装依赖)放前面,常变的(复制代码)放后面,利用缓存。

这些不用现在深究,知道”镜像可以优化”就够了。

小结

场景用什么
挂载模型/数据-v 主机目录:容器目录
传 API Key/配置-e KEY=value
后台运行 + 排错-d + docker logs + docker exec
跑大模型现成镜像如 ollama/ollama
用 GPU--gpus all

最后一章,给你指一条继续进阶的路:当你需要同时跑多个容器时,用 docker-compose。


上一章 ← 06 - Docker 真香时刻 | 下一章 → 08 - 下一步:docker-compose