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


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

相关推荐
AC赳赳老秦2 小时前
企业级人工智能平台选型深度分析:天翼云 DeepSeek 与开源解决方案的部署考量与成本博弈
人工智能·elasticsearch·zookeeper·rabbitmq·github·时序数据库·deepseek
创新技术阁2 小时前
CryptoAiAdmin项目数据库表自动创建和初始化
后端·python·fastapi
凤希AI伴侣2 小时前
数据架构升级:为API同步铺平道路-凤希AI伴侣-2025年12月27日
人工智能·凤希ai伴侣
Blossom.1182 小时前
多模态视频理解实战:从0到1构建视频-文本对齐大模型
人工智能·python·深度学习·神经网络·重构·音视频·知识图谱
轻竹办公PPT2 小时前
2026 年年度工作计划 PPT:AI 自动生成方案横向对比
人工智能·python·powerpoint
执笔论英雄2 小时前
【RL】op_compute_log_probs 计算过程
人工智能·pytorch·python
GISer_Jing2 小时前
Taro打造电商项目实战
前端·javascript·人工智能·aigc·taro
liliangcsdn2 小时前
SD稳定扩散模型理论基础的探索
人工智能·机器学习
Hiweir ·2 小时前
ROS Noetic教程------VSCode创建ROS话题通讯--发布方的简单流程
vscode·python·ros noetic·ros noetic教程