本篇是第四部分“架构篇”的第五篇,前面几篇我主要为你介绍了 Docker 自身的核心组件及其协作的流程等内容。本篇,我来为你介绍 Docker 的 Plugin 系统。
Docker 的 Plugin 系统
之前的内容中,我为你介绍的 Docker 相关的功能或者原理基本都是 Docker 原生的,在你正确安装 Docker 后,便可以使用这些功能了。
但有些特定场景下,Docker 原生的功能也许不能完全满足你的需求,或是你想要给 Docker 增加更多适用于自己特定场景下的功能,这时候要怎么办呢?
Docker 充分考虑到了这样的场景,并且推出了自己的插件系统。当我们在谈 Docker 的插件系统时,通常包含两个方面:
- 可以与 Docker Daemon 进行协作的进程外扩展,包含可用于扩展授权/网络/持久化等方面的能力,需与 Docker Daemon 的 API 交互;
- 基于 Docker CLI 扩展的客户端插件,注册成功后,并无太多限制。
以下我来为你分别介绍这两类插件。需要注意的是,本文中所有的讨论均以 Linux 系统下的 Docker CE v19.03.5 为例,Docker 更早之前的版本功能及插件系统与新版本不完全相同,此处略过。