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 快速入门"


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

相关推荐
大雨淅淅1 分钟前
Eureka从入门到精通:开启微服务架构的钥匙
微服务·云原生·eureka·架构
oMcLin4 分钟前
2025年必备的Docker命令指南与实战示例
docker·容器·eureka
qq_404643345 分钟前
Eureka 核心概念
微服务·eureka
码字的字节6 分钟前
Spring Cloud服务注册与发现(一):手把手搭建Eureka Server,详解高可用配置
spring·spring cloud·eureka
AI架构全栈开发实战笔记9 分钟前
Eureka 在大数据环境中的性能优化技巧
大数据·ai·eureka·性能优化
大厂资深架构师9 分钟前
Spring Cloud Eureka在后端系统中的服务剔除策略
spring·spring cloud·ai·eureka
AI架构全栈开发实战笔记10 分钟前
Eureka 对大数据领域服务依赖关系的梳理
大数据·ai·云原生·eureka
LinQingYanga18 分钟前
极客时间多模态大模型训练营毕业总结(2026年2月8日)
人工智能
pccai-vip20 分钟前
过去24小时AI创业趋势分析
人工智能
SEO_juper20 分钟前
AI SEO实战:整合传统技术与AI生成搜索的优化框架
人工智能·chatgpt·facebook·seo·geo·aeo