第 7 部 编排:把散装命令收进一个声明文件


第 7 部 编排:把散装命令收进一个声明文件

章节摘要:服务一多,run 命令的长度与数量都会失控:网络、卷、环境变量、启动顺序,每样都要手敲。Compose 的答案是声明式编排——把整组服务写进一个 YAML 文件,up 一键起全组、down 一键收全组。本部三节递进:先读懂 Compose 文件的结构词条,再掌握 compose 命令族的现场用法,最后把应用加数据库加网关的多服务部署实战跑通。学完本部,单机编排从手艺变成工程。

学习目标

阅读完本部,你应当能够:

  1. 说出 Compose 的三个核心概念:项目(project)、服务(service)、容器(container)的层级关系。
  2. 读懂一份 Compose 文件里 services、networks、volumes 三大块的职责分工。
  3. 用 compose up/down/ps/logs 管理整组服务的生命周期。
  4. 解释 build 与 image 字段的关系,让 Compose 直接参与构建。
  5. 说出 Compose 自动创建的网络有什么特点,服务互访为什么天然按名字可达。
  6. 用 depends_on 与健康检查控制启动顺序,避免"应用比数据库先起"的竞态。
  7. 把一个手工 run 起来的多容器项目改写成 Compose 文件并验证等价。

核心概念速览

金句:run 是点菜,Compose 是套餐——一次下单,整套上齐。

子章节导航

7.1 Compose 文件与结构词条:YAML 文件的解剖。services 里每个服务的 image、build、ports、environment、volumes 字段与前几部哪个词条对应,一一挂上钩子; networks 与 volumes 顶级声明的写法。

7.2 Compose 命令现场:compose 命令族全程会话。up 与 -d、down 与 -v 的删与留、ps 与 logs 怎么看整组状态、exec 与 restart 在编排层的用法,外加与散装命令的等价对照。

7.3 多服务部署实战:网关加应用加数据库的三服务项目从零到运行。重点是启动顺序的竞态处理与健康检查配置,以及改配置后的滚动重建。

子章节之间的逻辑关系

三节沿"读文件—用命令—打实战"推进:7.1 的每个字段都能在 7.2 的命令输出里找到回声,7.3 则把前两节拧成一个可交付的项目:

+----------------+ +----------------+ +----------------+ | 7.1 文件结构 | --> | 7.2 命令现场 | --> | 7.3 部署实战 | | services 三大块 | | up/down/logs | | 三服务+健康检查 | +----------------+ +----------------+ +----------------+ | | | +-- 字段语义全部来自壹至陆部的词条:卷/网络/端口/环境 --+ ​

前置知识与后续延伸

前置:本部是前六部词条的汇合处——ports 对应叁部 -p、volumes 对应伍部挂载、networks 对应陆部组网,没有这些底子,YAML 只是天书。延伸:捌部排错会把 compose logs 与健康检查当作集群化前的最后一道关卡;本部管单机编排,多机编排(Swarm、Kubernetes)不在本册范围,但声明式的思想完全相通。过关自测:给你任意一份 Compose 文件,你能逐字段说出它等价于哪条 docker run、docker network create 与 docker volume create。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U