本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 nerdctl 和 SOCI CLI 示例创建 SOCI 索引
以下页面提供了有关如何使用 nerdctl 和 SOCI CLI 创建 SOCI 索引的示例。
创建 SOCI 索引示例
-
首先为接下来的 Amazon CLI 命令设置变量。以下是设置变量的示例。
ACCOUNT_ID="111122223333" REGION="us-east-1" REPOSITORY_NAME="repository-name" ORIGINAL_IMAGE_TAG="original-image-tag" SOCI_IMAGE_TAG="soci-indexed-image-tag"变量定义:
-
ACCOUNT_ID是你的 Amazon Web Services 账户 身份证 -
REGION是您的 Amazon Web Services 区域 Amazon ECR 私有注册表 -
REPOSITORY_NAME是您的 Amazon ECR 私有注册表的名称 -
ORIGINAL_IMAGE_TAG是你原始图片的标签 -
SOCI_IMAGE_TAG是你的社交索引图片的标签
-
-
安装必需的工具:
# Install SOCI CLI, containerd, and nerdctl sudo yum install soci-snapshotter sudo yum install containerd jq sudo systemctl start soci-snapshotter sudo systemctl restart containerd sudo yum install nerdctl -
设置您的注册表变量:
REGISTRY_USER=AWS REGISTRY="$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com" -
导出您的地区并向 Amazon ECR 进行身份验证:
export AWS_REGION=$REGION REGISTRY_PASSWORD=$(/usr/local/bin/aws ecr get-login-password --region $AWS_REGION) echo $REGISTRY_PASSWORD | sudo nerdctl login -u $REGISTRY_USER --password-stdin $REGISTRY -
提取您的原始容器镜像:
sudo nerdctl pull $REGISTRY/$REPOSITORY_NAME:$ORIGINAL_IMAGE_TAG -
创建 SOCI 索引:
sudo nerdctl image convert --soci $REGISTRY/$REPOSITORY_NAME:$ORIGINAL_IMAGE_TAG $REGISTRY/$REPOSITORY_NAME:$SOCI_IMAGE_TAG -
推送社交索引图片:
sudo nerdctl push --platform linux/amd64 $REGISTRY/$REPOSITORY_NAME:$SOCI_IMAGE_TAG
此过程会为您的 ECR 存储库中的原始容器映像创建两个构件:
-
SOCI 索引-支持延迟加载的元数据
-
图片索引清单-符合 OCI 的清单