本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
构建、标记和推送容器镜像
为您的队列使用的处理器架构构建映像。带有Docker软件插件的 Linux 服务托管队列使用该平台。linux/amd64为每个图像版本指定一个标识其内容的标签,例如应用程序版本或源修订版。
先决条件
AWS CLI 在您的工作站上安装Docker和。创建 Amazon ECR 私有存储库并配置您的 AWS 凭证,使其有权将图像推送到该存储库。
构建并推送镜像
生成和推送容器镜像
-
为您的 AWS 账户、区域、存储库和图像标签设置值。
REGION=us-west-2ACCOUNT_ID=123456789012REPOSITORY=portable-jobIMAGE_TAG=1.0.0REGISTRY="${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com" IMAGE_URI="${REGISTRY}/${REPOSITORY}:${IMAGE_TAG}" -
从包含你的 Dockerfile 的目录中构建镜像。
docker build --platform linux/amd64 \ --tag "${REPOSITORY}:${IMAGE_TAG}" \ . -
运行特定于应用程序的命令以在本地测试映像。
docker run --rm "${REPOSITORY}:${IMAGE_TAG}"test-command -
Docker向您的私有 Amazon ECR 注册表进行身份验证。
aws ecr get-login-password --region "${REGION}" | \ docker login --username AWS --password-stdin "${REGISTRY}" -
应用 Amazon ECR 图像标签并推送图片。
docker tag "${REPOSITORY}:${IMAGE_TAG}" "${IMAGE_URI}" docker push "${IMAGE_URI}" -
检索图像摘要并将其与构建输出一起记录。
aws ecr describe-images \ --region "${REGION}" \ --repository-name "${REPOSITORY}" \ --image-ids imageTag="${IMAGE_TAG}" \ --query 'imageDetails[0].imageDigest' \ --output text
为可重复的作业使用固定版本标签或图像摘要。诸如之类的可变标签latest可以跨会话解析为不同的图像内容。