推送 Docker 镜像
您可以使用 docker push 命令将容器镜像推送到 Amazon ECR 存储库。Amazon ECR 还支持创建和推送用于多架构镜像的 Docker 清单列表。清单列表中引用的每个镜像都必须已经被推送到您的存储库。有关更多信息,请参阅 推送多架构镜像。
推送 Docker 镜像到 Amazon ECR 存储库
在推送镜像之前,Amazon ECR 存储库必须存在。有关更多信息,请参阅 创建私有存储库。
-
向要向其推送镜像的 Amazon ECR 注册表验证 Docker 客户端的身份。必须针对每个注册表获得授权令牌,令牌有效期为 12 小时。有关更多信息,请参阅 私有注册表身份验证。
要对 Amazon ECR 注册表验证 Docker,请运行 aws ecr get-login-password 命令。将身份验证令牌传递给 docker login 命令时,将值
AWS
用作用户名,并指定要对其进行身份验证的 Amazon ECR 注册表 URI。如果对多个注册表进行身份验证,则必须针对每个注册表重复该命令。重要
如果收到错误,请安装或更新到最新版本的 AWS CLI。有关更多信息,请参阅 AWS Command Line Interface 用户指南中的安装 AWS Command Line Interface。
aws ecr get-login-password --region
region
| docker login --username AWS --password-stdin
.dkr.ecr.aws_account_id
region
.amazonaws.com -
如果在要推送的注册表中还没有您的镜像存储库,请创建它。有关更多信息,请参阅 创建私有存储库。
-
识别要推送的本地镜像。运行 docker images 命令列出系统中的容器镜像。
docker images
在生成的命令输出中,可以通过
repository:tag
值或镜像 ID 识别镜像。 -
通过要使用的 Amazon ECR 注册表、存储库和可选镜像标签名称组合标记您的镜像。注册表格式为
。存储库名称应与您为镜像创建的存储库一致。如果省略镜像标签,我们将假定标签为aws_account_id
.dkr.ecr.us-west-2
.amazonaws.comlatest
。以下示例使用 ID
e9ae3c220b23
作为
来标记本地镜像。
/my-repository:tagaws_account_id
.dkr.ecr.us-west-2
.amazonaws.comdocker tag
e9ae3c220b23
/aws_account_id
.dkr.ecr.us-west-2
.amazonaws.commy-repository:tag
-
使用 docker push 命令推送镜像:
docker push
/aws_account_id
.dkr.ecr.us-west-2
.amazonaws.commy-repository:tag