Docker Hub 是最著名的用于分发和共享容器映像的注册表。不过, Docker Hub 和其他符合 OCI 的注册表现在可以做的不仅仅是容器镜像。ORAS (OCI 注册表作为存储)项目将注册表转换为通用工件存储,能够发布与您的应用程序相关的任何资产。
在本文中,您将了解 ORAS 是什么、它解决的挑战以及如何开始将它与 Docker Hub 结合使用。
Docker Hub 与 OCI 注册表
首先,让我们明确一个细节:容器生态系统不仅仅是 Docker。Docker 开创的工具和流程已由OCI 标准化。Docker 现在是 OCI 规范的一种实现,与其他兼容的容器系统(例如Podman和Kubernetes)一起。
Docker Hub 是一个与 OCI 注册表兼容的平台,用于交付容器映像。docker pullOCI 容器工具可以通过和等命令使用来自 Docker Hub 和其他注册表的内容docker push。虽然这些以前仅适用于容器映像,但现在您可以使用相同的机制来分发应用程序的其他组件。
为什么通用工件很重要
该功能正在ORAS 的旗帜下开发。它将注册表重塑为“通用工件存储”,您可以使用熟悉的推/拉工作流程与之交互。
工件是用户成功运行您的软件可能需要的任何东西。这可能是容器映像,或对您的项目有意义的其他类型的资产:
- 舵图
- 预编译的二进制文件和安装程序包
- SBOM
- 推荐的安全策略配置,例如OPA规则
- 发布签名、证书和元数据<