打包并发布您的扩展
此页面包含有关如何打包和分发扩展的更多信息。
打包您的扩展
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 会扫描市场中发布的扩展列表,以查找新版本,并在用户可以升级特定扩展时向他们提供通知。目前,不在市场中的扩展没有自动更新通知。
用户无需更新 Docker Desktop 本身,即可下载并安装任何扩展的更新版本。
扩展 API 依赖项
扩展必须指定其依赖的扩展 API 版本。Docker Desktop 会检查扩展的所需版本,并且只会建议安装与当前安装的 Docker Desktop 版本兼容的扩展。用户可能需要更新 Docker Desktop 才能安装最新的可用扩展。
扩展镜像标签必须指定扩展依赖的 API 版本。这使 Docker Desktop 能够在不事先下载完整的扩展镜像的情况下检查扩展镜像的更新版本。
扩展和扩展 SDK 的许可
该 Docker 扩展 SDK 采用 Apache 2.0 许可证,可免费使用。
对每个扩展的许可方式没有限制,这取决于您在创建新扩展时决定。