将 Docker 映像推送到 Amazon ECR 私有存储库
您可以使用 docker push 命令将容器镜像推送到 Amazon ECR 存储库。
Amazon ECR 还支持创建和推送用于多架构映像的 Docker 清单列表。有关信息,请参阅将多架构映像推送到 Amazon ECR 私有存储库。
推送 Docker 镜像到 Amazon ECR 存储库
在推送镜像之前,Amazon ECR 存储库必须存在。有关更多信息,请参阅 创建 Amazon ECR 私有存储库以存储映像。
-
向要向其推送镜像的 Amazon ECR 注册表验证 Docker 客户端的身份。必须针对每个注册表获得授权令牌,令牌有效期为 12 小时。有关更多信息,请参阅 Amazon ECR 中的私有注册表身份验证。
要对 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 -
如果在要推送的注册表中还没有您的镜像存储库,请创建它。有关更多信息,请参阅 创建 Amazon ECR 私有存储库以存储映像。
-
识别要推送的本地镜像。运行 docker images 命令列出系统中的容器镜像。
docker images
在生成的命令输出中,可以通过
repository:tag
值或镜像 ID 识别镜像。 -
通过要使用的 Amazon ECR 注册表、存储库和可选镜像标签名称组合标记您的镜像。注册表格式为
。存储库名称应与您为镜像创建的存储库一致。如果省略镜像标签,我们将假定标签为aws_account_id
.dkr.ecr.region
.amazonaws.com.rproxy.goskope.comlatest
。以下示例使用 ID
e9ae3c220b23
作为
来标记本地镜像。
/my-repository:tagaws_account_id
.dkr.ecr.region
.amazonaws.com.rproxy.goskope.comdocker tag
e9ae3c220b23
/aws_account_id
.dkr.ecr.region
.amazonaws.com.rproxy.goskope.commy-repository:tag
-
使用 docker push 命令推送镜像:
docker push
/aws_account_id
.dkr.ecr.region
.amazonaws.com.rproxy.goskope.commy-repository:tag