赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 容器镜像服务
  4. 实践教程
  5. 使用OCI v1.1.0规范管理和关联容器镜像及其衍生制品

使用OCI v1.1.0规范管理和关联容器镜像及其衍生制品

  • 实践教程
  • 发布于 2025-04-18
  • 0 次阅读
文档编辑
文档编辑

从2024年04月起,新创建的ACR企业版实例将支持OCI的Image和Distribution规范v1.1.0,包括对Reference Types的支持。这意味着您除了可以存储和分发容器镜像外,还能管理和分发非容器镜像内容的OCI制品,如镜像签名和软件物料清单(SBOM)。这使您能够像管理容器镜像一样,管理和分发这些OCI制品。本文将介绍如何在容器镜像服务ACR中应用OCI v1.1.0新版本规范的相关功能。

前提条件

  • 已在本地安装ORAS客户端。具体操作,请参见安装ORAS。

  • 已在本地安装Docker。具体操作,请参见安装Docker。

  • 已配置专有网络或公网的访问控制,用于连接到企业版实例,本文以配置公网访问控制为例。具体操作,请参见配置公网的访问控制。

  • 已获取登录企业版实例的密码。若您忘记或遗失密码,您可以通过配置访问凭证的方式重置密码。具体操作,请参见配置访问凭证。

步骤一:使用Referrers API关联镜像的衍生制品

Referrers API是OCI v1.1.0新版本规范提出的能力,旨在将容器镜像与其衍生制品,例如物料清单(SBOM)、签名和漏洞扫描结果紧密关联。它能够帮助您有效追踪特定软件制品的来源,从而提升镜像的安全性与合规性管理和审查的效率。下面以容器镜像的物料清单(SBOM)生成与关联为例,展示 Referrers API的相关作用。

如果您在环境中无法执行docker sbom命令,需要先安装并配置sbom-cli-plugin组件。

安装配置sbom-cli-plugin组件

如果您在环境中无法执行docker sbom命令时,可以按照如下方式安装和配置sbom-cli-plugin组件。

  1. 安装sbom-cli-plugin组件。

    wget "https://github.com/docker/sbom-cli-plugin/releases/download/v0.6.1/sbom-cli-plugin_0.6.1_linux_amd64.tar.gz"
  2. 创建组件目录。

    mkdir -p /root/.docker/cli-plugins
  3. 解压tar包到指定目录中。

    tar -zxvf sbom-cli-plugin_0.6.1_linux_amd64.tar.gz -C  /root/.docker/cli-plugins

以下示例将展示如何使用Referrers API来关联镜像<企业版实例名称>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20的物料清单(SBOM)。

  1. 指明企业版实例域名,并输入您的用户名和登录密码。

    登录成功之后会显示Login Succeeded。

    docker login <企业版实例名称>-registry.cn-hangzhou.cr.aliyuncs.com
    Username: ****@test.com
    Password:
    Login Succeeded
  2. 执行以下命令,生成目标镜像的物料清单(SBOM)数据。

    docker sbom <企业版实例名称>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20 --format spdx-json -o sbom.jsom

    预期输出。

    13

  3. 执行以下命令,关联目标镜像物料清单(SBOM)数据。

     oras attach  --distribution-spec v1.1-referrers-api <企业版实例名称>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20 sbom.jsom --artifact-type example/sbom

    预期输出。

    14

  4. 执行以下命令,查看目标镜像与物料清单(SBOM)关联关系。

    oras discover  --distribution-spec v1.1-referrers-api <企业版实例名称>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20

    预期输出。

    15

步骤二:跨实例分发镜像及其关联的衍生制品

ACR企业版实例支持通过ORAS等工具跨实例分发镜像及其关联的衍生制品。我们以拷贝容器镜像及其软件物料(SBOM)为例来展示这一功能。

将已关联的物料清单(SBOM)中的 <企业版实例名称>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20镜像分发到<企业版实例名称>-registry.cn-beijing.cr.aliyuncs.com仓库。您需要先登录目标实例镜像仓库。

  1. 指明企业版实例域名,并输入您的用户名和登录密码。

    登录成功之后会显示Login Succeeded

    docker login <企业版实例名称>-registry.cn-beijing.cr.aliyuncs.com
    Username: ****@test.com
    Password:
    Login Succeeded
  2. 执行以下命令,分发镜像及其关联的物料清单(SBOM)至目标实例镜像仓库。

    $ oras cp -r --from-distribution-spec v1.1-referrers-api --to-distribution-spec v1.1-referrers-api <企业版实例名称>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20 <企业版实例名称>-registry.cn-beijing.cr.aliyuncs.com/library/golang:1.20

    预期输出。

    16

  3. 执行以下命令,目标镜像也有同样的物料清单(SBOM)。

    oras discover  --distribution-spec v1.1-referrers-api <企业版实例名称>-registry.cn-beijing.cr.aliyuncs.com/library/golang:1.20

    预期输出。

    17

相关文章

使用OCI v1.1.0规范管理和关联容器镜像及其衍生制品 2025-04-18 15:15

从2024年04月起,新创建的ACR企业版实例将支持OCI的Image和Distribution规范v1.1.0,包括对Reference Types的支持。这意味着您除了可以存储和分发容器镜像外,还能管理和分发非容器镜像内容的OCI制品,如镜像签名和软件物料清单(SBOM)。这使您能够像管理容器镜

使用触发器构建容器DevOps 2025-04-18 15:15

通过容器镜像服务可以便捷地构建基于容器的DevOps开发环境。本文介绍如何使用触发实现镜像代码被修改后,自动触发镜像构建,且自动触发容器服务上应用的重新部署。 前提条件 已绑定企业版实例与阿里云Codeup代码平台。<

使用Jenkins实现镜像的CICD 2025-04-18 15:15

若您期望实现从源代码自动构建、推送镜像到最终部署应用的一体化自动化操作。您可以使用Jenkins实现镜像的CI/CD,只要您在GitLab中提交源代码,容器镜像会自动使用源代码构建镜像,容器服务会自动拉取镜像部署应用,并自动发送事件通知到钉钉群。 前提条件

Java项目容器化构建最佳实践 2025-04-18 15:15

使用Dockerfile将源代码构建成容器镜像,进行镜像分发、部署。相比于Golang或Python项目,Java项目因企业一般会选择自建依赖仓库(如Maven)导致容器化构建难度高,因不熟悉Dockerfile缓存机制导致构建速度较慢。本文从典型用户场景(云上自建GitLab代码仓库、自建Mave

在Dockerfile中使用构建打包镜像并运行 2025-04-18 15:15

通过使用多阶段构建应用以及结合阿里云容器镜像服务(ACR)的镜像构建服务,可以使Java应用具有构建安全、构建速度快、镜像文件体积小等优点。 前提条件

本地构建和推送多架构镜像到容器镜像服务 2025-04-18 15:15

使用ARM架构资源部署容器通常可以节省不少成本,但也可能导致维护成本增加,您可能需要面向x86、ARM架构分别构建镜像并设置不同的Tag。您可以使用docker buildx来构建多架构镜像,并通过docker manifest实现一个Tag管理多架构的容器镜像。 前提条件

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号