互联网技术 / 互联网资讯 · 2024年1月15日

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

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

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

插件激活

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

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

systemd socket激活

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

seRvice文件(例如/lib/systemd/system/youR-plugin.seRvice):

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

socket文件(例如/lib/systemd/sYsteM/youR-plugin.socket):

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

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

API设计

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

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

所有请求都是 HTTPPOST请求。

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

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册