打包和发布您的扩展
此页面包含有关如何打包和分发扩展的附加信息。
打包您的扩展
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 Extension SDK 根据 Apache 2.0 许可证授权,可免费使用。
每个扩展的许可方式没有限制,这取决于您在创建新扩展时决定。