云计算核心技术Docker教程:Docker 插件生命周期

  • 来源:网络
  • 更新日期:2022-03-24

摘要:插件应该在 Docker 之前启动,在 Docker 之后停止。例如,在为支持 的平台打包插件时systemd,您可能会使用systemd依赖项来管理启动和关闭顺序。 升级插件时,您应该先停止 Docker

插件应该在 Docker 之前启动,在 Docker 之后停止。例如,在为支持 的平台打包插件时systemd,您可能会使用systemd依赖项来管理启动和关闭顺序。

升级插件时,您应该先停止 Docker 守护进程,升级插件,然后再次启动 Docker。

插件激活

当一个插件第一次被引用时——无论是用户通过名称(例如docker run --volume-driver=foo)引用它 还是一个已经配置为使用正在启动的插件的容器——Docker 会在插件目录中查找命名插件并通过握手激活它. 请参阅下面的握手 API。

插件不会在 Docker 守护进程启动时自动激活。相反,它们只会在需要时懒惰地或按需激活。

systemd socket激活

插件也可以通过套接字激活systemd。官方插件助手 本身支持套接字激活。为了使插件被套接字激活,它需要一个service文件和一个socket文件。

service文件(例如/lib/systemd/system/your-plugin.service):


socket文件(例如/lib/systemd/system/your-plugin.socket):


这将允许插件在 Docker 守护进程连接到它们正在侦听的套接字时实际启动(例如,守护进程第一次使用它们或者插件中的一个意外关闭)。

API设计

插件 API 是基于 HTTP 的 RPC 风格的 JSON,很像 webhooks。

请求从Docker 守护进程流向插件。所以插件需要实现一个 HTTP 服务器并将其绑定到“插件发现”部分中提到的 UNIX 套接字。

所有请求都是 HTTPPOST请求。

API 通过 Accept 标头进行版本控制,该标头当前始终设置为 application/vnd.docker.plugins.v1+json.

"新网箭头云服务器"