打包并发布您的扩展
此页面包含有关如何打包和分发扩展的附加信息。
打包您的扩展
Docker 扩展被打包为 Docker 镜像。整个扩展运行时,包括 UI、后端服务(主机或 VM)以及任何必要的二进制文件必须包含在扩展映像中。每个扩展映像必须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 扫描市场上发布的扩展列表以获取新版本,并在用户可以升级特定扩展时向用户提供通知。不属于 Marketplace 的扩展目前没有自动更新通知。
用户可以下载并安装任何扩展的新版本,而无需更新 Docker Desktop 本身。
扩展 API 依赖项
扩展必须指定它们依赖的扩展 API 版本。 Docker Desktop 检查扩展所需的版本,并仅建议安装与当前安装的 Docker Desktop 版本兼容的扩展。用户可能需要更新 Docker Desktop 才能安装最新的可用扩展。
扩展程序图像标签必须指定扩展程序所依赖的 API 版本。这允许 Docker Desktop 检查较新版本的扩展映像,而无需预先下载完整的扩展映像。
扩展许可和扩展 SDK
Docker 扩展 SDK根据 Apache 2.0 许可证获得许可,并且可以免费使用。
每个扩展的许可方式没有限制,这由您在创建新扩展时决定。