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

08 - 下一步:docker-compose

恭喜你坚持到这里!Docker 的核心你已经全掌握了。这一章给你指个方向,不需要现在精通。

一个新问题

真实的 AI 应用,往往不只一个容器。比如一个 RAG 问答系统可能包含:

  • 一个 AI 后端服务(FastAPI)
  • 一个 向量数据库(如 Qdrant)
  • 一个 前端(如 React)
  • 也许还有一个 Redis 做缓存

如果用 docker run 一个个手动启动,要敲好几条又长又难记的命令,还要管它们之间的网络、启动顺序……很麻烦。

docker-compose 来救场

docker-compose 让你把”要跑哪些容器、各自怎么配置”写进一个 docker-compose.yml 文件,然后一条命令全部拉起。

一个简化的例子:

services:
  api:
    build: .
    ports:
      - "8000:8000"
    environment:
      - OPENAI_API_KEY=${OPENAI_API_KEY}

  vectordb:
    image: qdrant/qdrant
    ports:
      - "6333:6333"

然后:

docker compose up -d    # 一条命令,所有服务一起启动
docker compose down     # 一条命令,全部停止并清理

是不是比一个个 docker run 清爽多了?

你现在该知道的

  • 是什么:用一个 yml 文件管理一组容器,一键启停。
  • 什么时候用:当你的应用需要”多个容器协同工作”时。
  • 现在要不要学:不急。先把单容器(前面学的)玩熟,等真的需要多服务协作时,再花一两个小时学 compose 就够了。

学习路线建议

你现在的水平已经能搞定大部分日常开发了。如果想继续进阶,按这个顺序:

  1. 单容器(你已掌握):build、run、Dockerfile —— 这是 80% 的日常。
  2. ⏭️ docker-compose:多容器编排,本地开发多服务时用。
  3. 🔜 镜像优化:多阶段构建、减小体积。
  4. 🔜 部署上线:把镜像部署到云服务器 / 容器平台。
  5. 🔜 Kubernetes:大规模容器集群管理(等真的需要了再说,别一开始就卷这个)。

写在最后

记住这门课最核心的一句话:

Docker 把”应用 + 环境”打包成集装箱,让它一次打包、到处运行。

对你们做 AI 开发的人来说,这意味着:再也不用为”在我电脑上能跑”而崩溃,环境配一次、全队全平台通用,部署交付变得无比简单。

去动手多敲几遍命令,把 example/ 跑通,你就真正入门了。加油!


上一章 ← 07 - AI 开发者常用技巧 | 下一章 → 09 - Compose 解决什么问题