AI大模型应用开发之容器化部署

专门为新手设计的「容器化部署 + AI 服务落地」完整指南

搞懂 Docker 在干什么 → 会写 Dockerfile → 会用 Docker Compose 编排 → 知道 K8s 在什么时候该用 → 能把 RAG + Agent 跑成一个"像样的服务"


一、先一句话搞懂容器化在干什么

容器化 = 把"代码 + 运行环境"一起打包,在哪都能跑

📌 你不再关心:

  • Python 版本
  • 依赖冲突
  • "我这能跑,你那不行"

二、Docker 是什么?(新手版)

1️⃣ Docker 的三个核心概念(必背)

名词 一句话
镜像(Image) 程序的"安装包"
容器(Container) 正在运行的程序
Dockerfile 制作镜像的说明书

📌 口诀:

Dockerfile 做镜像,镜像跑容器


2️⃣ Docker 镜像分层原理(非常重要)

📌 一句话

Docker 镜像是"一层一层叠起来"的


🌰 类比(强烈推荐)

做一个汉堡:

text 复制代码
面包底
+ 牛肉
+ 生菜
+ 酱

Docker 镜像:

text 复制代码
基础系统层
+ Python 层
+ 依赖层
+ 你的代码层

📌 分层有什么好处?

1️⃣ 复用

  • Python 层不用每次重新下载

2️⃣ 构建快

  • 改代码只重新构建"代码层"

3️⃣ 省空间

📌 记忆口诀:

没变的层不重建


三、Docker 镜像怎么写?(最小可用)

1️⃣ 一个 AI 服务常见 Dockerfile

dockerfile 复制代码
FROM python:3.10-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install -r requirements.txt

COPY . .

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

📌 新手只要理解:

  • FROM:基础环境
  • RUN:装依赖
  • COPY:拷代码
  • CMD:启动程序

四、Docker Compose 是干什么的?

📌 一句话

Docker Compose = 一次启动多个 Docker 服务


🌰 类比

你要启动:

  • RAG 服务
  • Agent 服务
  • 向量数据库
  • Redis

不用一个个 docker run

👉 Compose 帮你一起管


Compose 的三大好处

1️⃣ 一个 docker-compose up

2️⃣ 自动建网络

3️⃣ 服务之间用名字通信

📌 口诀:

一个文件,起一堆服务


五、RAG + Agent 服务的整体架构(新手版)

text 复制代码
用户
 ↓
Agent API
 ↓
RAG 服务
 ↓
向量数据库(Chroma / FAISS)
 ↓
大模型 API

六、用 Docker Compose 部署 RAG + Agent(完整示例)

🎯 目标

一条命令,启动一个 AI 系统


1️⃣ 项目结构(推荐)

text 复制代码
project/
├─ agent/
│  ├─ main.py
│  └─ Dockerfile
├─ rag/
│  ├─ main.py
│  └─ Dockerfile
├─ data/
├─ docker-compose.yml

2️⃣ agent/Dockerfile

dockerfile 复制代码
FROM python:3.10-slim
WORKDIR /app
COPY . .
RUN pip install langchain openai
CMD ["python", "main.py"]

3️⃣ rag/Dockerfile

dockerfile 复制代码
FROM python:3.10-slim
WORKDIR /app
COPY . .
RUN pip install langchain chromadb sentence-transformers
CMD ["python", "main.py"]

4️⃣ docker-compose.yml(核心)

yaml 复制代码
version: "3.8"

services:
  agent:
    build: ./agent
    ports:
      - "8000:8000"
    depends_on:
      - rag

  rag:
    build: ./rag
    volumes:
      - ./data:/data

📌 你现在可以:

bash 复制代码
docker-compose up --build

👉 一个完整 AI 系统启动了


七、什么是"水平扩容"?(非常重要)

📌 一句话

水平扩容 = 多开几份同样的服务,一起干活


🌰 类比

一个客服太忙了?

👉 再来 3 个客服


Docker Compose 怎么扩容?

bash 复制代码
docker-compose up --scale agent=3

📌 现在你有:

  • agent_1
  • agent_2
  • agent_3

⚠️ 注意

  • 需要 负载均衡器(如 Nginx)
  • 服务必须 无状态

八、Kubernetes(K8s)到底是干嘛的?

📌 一句话

K8s = 自动管理"成百上千个容器"的系统


Docker Compose vs K8s(新手理解版)

对比 Compose K8s
学习成本
本地开发
自动扩缩容
生产环境 一般 标准

📌 新手建议:

先 Compose,后 K8s


K8s 里和你现在最相关的 3 个概念

概念 类比
Pod 一个容器组
Deployment 管理副本
Service 负载均衡

九、大模型服务如何做"真正的水平扩容"?

📌 核心前提(非常重要)

服务必须是"无状态"的

❌ 不要:

  • 把对话存在内存
  • 把用户状态写死

✅ 要:

  • 状态放 Redis
  • 向量放数据库

标准架构

text 复制代码
负载均衡
 ↓
Agent 容器 × N
 ↓
Redis / 向量数据库

十、新手最容易踩的坑

❌ Dockerfile 把所有东西写一层

❌ Compose 里硬编码 IP

❌ 服务有状态还想扩容

❌ 一开始就上 K8s


十一、终极新手记忆口诀(强烈建议背)

Docker 管环境,
Compose 管服务,
扩容靠无状态,
K8s 管规模。


十二、推荐学习顺序(实用)

1️⃣ 会写 Dockerfile

2️⃣ 会用 docker-compose

3️⃣ 把 RAG 跑成服务

4️⃣ Agent 无状态化

5️⃣ 再学 K8s

十三、参考文档

Docker 官方文档

B 站 "K8s 快速入门"


有任何问题欢迎在评论区交流。

相关推荐
行者无疆_ty21 小时前
什么是Node.js,跟OpenCode/OpenClaw有什么关系?
人工智能·node.js·openclaw
AIFarmer1 天前
在EV3上运行Python语言——无线编程
python·ev3
不会代码的小测试1 天前
UI自动化-POM封装
开发语言·python·selenium·自动化
2401_841495641 天前
【LeetCode刷题】二叉树的层序遍历
数据结构·python·算法·leetcode·二叉树··队列
AC赳赳老秦1 天前
2026国产算力新周期:DeepSeek实战适配英伟达H200,引领大模型训练效率跃升
大数据·前端·人工智能·算法·tidb·memcache·deepseek
工程师老罗1 天前
基于Pytorch的YOLOv1 的网络结构代码
人工智能·pytorch·yolo
xfddlm1 天前
边缘计算_ubuntu环境下使用瑞芯微RK3576NPU推理LLM
人工智能·ubuntu·边缘计算
ZH15455891311 天前
Flutter for OpenHarmony Python学习助手实战:GUI桌面应用开发的实现
python·学习·flutter
B站计算机毕业设计超人1 天前
计算机毕业设计Hadoop+Spark+Hive招聘推荐系统 招聘大数据分析 大数据毕业设计(源码+文档+PPT+ 讲解)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
B站计算机毕业设计超人1 天前
计算机毕业设计hadoop+spark+hive交通拥堵预测 交通流量预测 智慧城市交通大数据 交通客流量分析(源码+LW文档+PPT+讲解视频)
大数据·hive·hadoop·python·spark·毕业设计·课程设计