章节摘要:容器是镜像的运行态,也是命令词典里动词最密集的区域。本部把容器命令组织成三组词条:生命周期动词(create、start、stop、kill、rm)管容器的生老病死;run 的参数义项决定容器以什么姿态出生——后台还是前台、端口通不通、环境变量给什么;观测词条(ps、stats、logs、top)回答"它现在怎么样了"。所有词条都坚持本册惯例:语法给足、义项列表、现场会话配真实输出,坑点当场点破。
阅读完本部,你应当能够:
金句:镜像住硬盘,容器住内存;本部的动词全都围绕"内存里那个进程"展开。
3.1 容器生命周期命令词条:从创建到删除的全套动词。重点是每个动作改变了容器状态的哪个位、stop 与 kill 发的信号有何不同、rm 前要确认什么。
3.2 run 参数义项大全:单条 docker run 就有几十个义项,本节按"名字、前台后台、端口、环境、存储、重启策略"分组给全常用参数,每组配一个最小现场。这一节是叁部的重头,也是全书被翻查频率最高的词条页。
3.3 监控与日志命令现场:ps、stats、logs、top 四个观测词条。重点是输出的读法与过滤器的用法:怎么从 Up 3 days 里读健康线索,怎么把日志调成可检索的格式。
三节构成"起容器—配容器—看容器"的闭环,顺序上 3.2 依赖 3.1 的状态概念,3.3 观测的对象由前两节创造:
+------------------+ +------------------+ +------------------+ | 3.1 生命周期词条 | --> | 3.2 run 参数义项 | --> | 3.3 观测与日志 | | create/start | | -d -p -e -v | | ps stats logs | | stop/kill/rm | | --restart --rm | | top | +------------------+ +------------------+ +------------------+ | | | +------- 观测发现异常,回到 3.1 处置,回到 2.3 换镜像 -------+
前置:贰部的镜像词条全部到位——run 的第一个位置参数就是镜像名;2.1 的分层概念在理解容器可写层时会被再次引用。延伸:伍部的 -v 义项在本部只给最简形态,存储参数的完整展开在数据部;陆部的 --network 义项同理,网络细节留给网络部;捌部排错现场把本部的 logs 与 stats 当作第一手证据源。过关自测:合上手册,你能报出"起一个后台 nginx、映射宿主机端口、设定开机自动重启、命名唯一"的完整 run 命令,并能说出它每个选项删掉后会发生什么。