打包和发布扩展
本页包含有关如何打包和分发扩展的其他信息。
打包扩展
Docker 扩展打包为 Docker 镜像。整个扩展运行时,包括 UI、后端服务 (主机或 VM) 和任何必要的二进制文件,都必须包含在扩展镜像中。
每个扩展镜像都必须在其文件系统的根目录中包含一个文件,该文件定义扩展的内容。metadata.json
Docker 镜像必须具有多个镜像标签,以提供有关扩展的信息。请参阅 如何使用扩展标签 提供扩展概述信息。
要打包和发布扩展,您必须构建一个 Docker 镜像 (),并使用允许您管理扩展版本的特定标签将镜像推送到 Docker Hub ()。docker build
docker push
释放扩展
Docker 镜像标签必须遵循 semver 约定,才能允许获取最新版本的扩展,并了解是否有可用的更新。请参阅 semver.org 了解有关语义版本控制的更多信息。
扩展镜像必须是多架构镜像,以便用户可以在 ARM/AMD 硬件上安装扩展。这些多架构镜像可以包括 ARM/AMD 特定的二进制文件。Mac 用户将根据其架构自动使用正确的镜像。 在主机上安装二进制文件的扩展还必须在同一扩展镜像中提供 Windows 二进制文件。了解如何为扩展构建多架构镜像。
您可以实施扩展,而对代码仓库没有任何限制。Docker 不需要访问代码存储库即可使用该扩展。此外,您还可以管理扩展的新版本,而无需依赖 Docker Desktop 版本。
新版本和更新
您可以通过将带有新标签的新镜像推送到 Docker Hub 来发布 Docker 扩展的新版本。
推送到与扩展对应的镜像存储库的任何新镜像都会定义该扩展的新版本。镜像标记用于标识版本号。扩展版本必须遵循 semver ,以便于理解和比较版本。
Docker Desktop 会扫描 Marketplace 中发布的扩展列表以查找新版本,并在用户可以升级特定扩展时向用户提供通知。不属于 Marketplace 的扩展目前没有自动更新通知。
用户可以下载并安装任何扩展的较新版本,而无需更新 Docker Desktop 本身。
扩展 API 依赖项
扩展必须指定它们所依赖的扩展 API 版本。Docker Desktop 会检查扩展的所需版本,并且仅建议安装与当前安装的 Docker Desktop 版本兼容的扩展。用户可能需要更新 Docker Desktop 才能安装可用的最新扩展。
扩展镜像标签必须指定扩展所依赖的 API 版本。这允许 Docker Desktop 检查较新版本的扩展镜像,而无需预先下载完整的扩展镜像。
扩展和扩展 SDK 上的许可证
Docker 扩展 SDK 根据 Apache 2.0 许可证获得许可,可以免费使用。
每个扩展的许可方式没有限制,这由您在创建新扩展时决定。