打包和发布您的扩展

此页面包含有关如何打包和分发扩展的更多信息。

打包您的扩展

Docker 扩展打包为 Docker 镜像。整个扩展运行时,包括 UI、后端服务(主机或虚拟机)和任何必要的二进制文件都必须包含在扩展镜像中。每个扩展镜像都必须在其文件系统的根目录中包含一个 `metadata.json` 文件,该文件定义了扩展的内容

Docker 镜像必须具有几个镜像标签,提供有关扩展的信息。了解如何使用扩展标签来提供扩展概述信息。

要打包和发布扩展,您必须构建 Docker 镜像(`docker build`),并将镜像推送到Docker Hub(`docker push`)并使用特定标签来管理扩展的版本。

发布您的扩展

Docker 镜像标签必须遵循 semver 约定,以便能够获取扩展的最新版本,并了解是否有可用的更新。请参阅semver.org了解更多关于语义版本控制的信息。

扩展镜像必须是多架构镜像,以便用户可以在 ARM/AMD 硬件上安装扩展。这些多架构镜像可以包含 ARM/AMD 特定的二进制文件。Mac 用户将根据其架构自动使用正确的镜像。在主机上安装二进制文件的扩展也必须在同一个扩展镜像中提供 Windows 二进制文件。了解如何为您的扩展构建多架构镜像

您可以不受代码库任何限制地实现扩展。Docker 不需要访问代码库即可使用扩展。此外,您可以管理扩展的新版本,而无需依赖 Docker Desktop 版本。

新版本和更新

您可以通过将带有新标签的新镜像推送到 Docker Hub 来发布 Docker 扩展的新版本。

任何推送到与扩展对应的镜像库的新镜像都定义了该扩展的新版本。镜像标签用于标识版本号。扩展版本必须遵循 semver,以便于理解和比较版本。

Docker Desktop 会扫描市场中发布的扩展列表以查找新版本,并在用户可以升级特定扩展时向用户提供通知。目前,不属于市场的扩展没有自动更新通知。

用户无需更新 Docker Desktop 本身即可下载并安装任何扩展的较新版本。

扩展 API 依赖项

扩展必须指定它们依赖的扩展 API 版本。Docker Desktop 会检查扩展所需的版本,并且只建议安装与当前安装的 Docker Desktop 版本兼容的扩展。用户可能需要更新 Docker Desktop 才能安装最新的可用扩展。

扩展镜像标签必须指定扩展依赖的 API 版本。这允许 Docker Desktop 检查扩展镜像的较新版本,而无需预先下载完整的扩展镜像。

扩展和扩展 SDK 的许可

Docker 扩展 SDK 是在 Apache 2.0 许可下授权的,可免费使用。

对每个扩展的许可方式没有限制,这取决于您在创建新扩展时做出决定。