View a markdown version of this page

构建、标记和推送容器镜像 - 截止日期云

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

构建、标记和推送容器镜像

为您的队列使用的处理器架构构建映像。带有Docker软件插件的 Linux 服务托管队列使用该平台。linux/amd64为每个图像版本指定一个标识其内容的标签,例如应用程序版本或源修订版。

先决条件

AWS CLI 在您的工作站上安装Docker和。创建 Amazon ECR 私有存储库并配置您的 AWS 凭证,使其有权将图像推送到该存储库。

构建并推送镜像

生成和推送容器镜像
  1. 为您的 AWS 账户、区域、存储库和图像标签设置值。

    REGION=us-west-2 ACCOUNT_ID=123456789012 REPOSITORY=portable-job IMAGE_TAG=1.0.0 REGISTRY="${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com" IMAGE_URI="${REGISTRY}/${REPOSITORY}:${IMAGE_TAG}"
  2. 从包含你的 Dockerfile 的目录中构建镜像。

    docker build --platform linux/amd64 \ --tag "${REPOSITORY}:${IMAGE_TAG}" \ .
  3. 运行特定于应用程序的命令以在本地测试映像。

    docker run --rm "${REPOSITORY}:${IMAGE_TAG}" test-command
  4. Docker向您的私有 Amazon ECR 注册表进行身份验证。

    aws ecr get-login-password --region "${REGION}" | \ docker login --username AWS --password-stdin "${REGISTRY}"
  5. 应用 Amazon ECR 图像标签并推送图片。

    docker tag "${REPOSITORY}:${IMAGE_TAG}" "${IMAGE_URI}" docker push "${IMAGE_URI}"
  6. 检索图像摘要并将其与构建输出一起记录。

    aws ecr describe-images \ --region "${REGION}" \ --repository-name "${REPOSITORY}" \ --image-ids imageTag="${IMAGE_TAG}" \ --query 'imageDetails[0].imageDigest' \ --output text

为可重复的作业使用固定版本标签或图像摘要。诸如之类的可变标签latest可以跨会话解析为不同的图像内容。