美文网首页
AWS私有仓库ECR推送拉取镜像

AWS私有仓库ECR推送拉取镜像

作者: SRE运维博客 | 来源:发表于2021-12-06 13:14 被阅读0次

作者:SRE运维博客

博客地址: https://www.cnsre.cn/

文章地址:https://www.cnsre.cn/posts/211206944174/

相关话题:https://www.cnsre.cn/tags/aws/


什么是 Amazon Elastic Container Registry(ECR)?

Amazon Elastic Container Registry (Amazon ECR) 是 Amazon 托管容器映像注册表服务,它安全、可扩展且可靠。Amazon ECR 支持私有存储库,其具有使用 Amazon IAM 的基于资源的权限。这样,指定用户或 Amazon EC2 实例可以访问您的容器存储库和映像。您可以使用首选 CLI 推送、提取和管理 Docker 映像、Open Container Itistry (OCI) 映像和 OCI 兼容构件。

Amazon ECR 的功能

Amazon ECR 提供以下功能:

  • 生命周期策略有助于管理存储库中映像的生命周期。您可以定义导致清理未使用映像的规则。您可以在将规则应用到存储库之前对其进行测试。有关更多信息,请参阅 生命周期策略
  • 映像扫描有助于识别容器映像中的软件漏洞。每个存储库都可以配置为在推送时扫描。这可确保扫描推送到存储库的每个新映像。然后,您可以检索映像扫描的结果。有关更多信息,请参阅 映像扫描
  • 跨区域和跨账户复制使您可以更轻松地将映像放置在需要的位置。它配置为注册表设置,并基于每个区域。有关更多信息,请参阅 私有注册表设置

推送 Docker 映像到 Amazon ECR 存储库

我们可以使用 docker push 命令将容器映像推送到 Amazon ECR 存储库。Amazon ECR 还支持创建和推送用于多架构映像的 Docker 清单列表。清单列表中引用的每个映像都必须已经被推送到我们的存储库。

在推送映像之前,Amazon ECR 存储库必须存在。

向要向其推送映像的 Amazon ECR 注册表验证 Docker 客户端的身份。必须针对每个注册表获得授权令牌,令牌有效期为 12 小时。

要对 Amazon ECR 注册表验证 Docker,请运行 aws ecr get-login-password 命令。将身份验证令牌传递给 docker login 命令时,将值 AWS 用作用户名,并指定要对其进行身份验证的 Amazon ECR 注册表 URI。如果对多个注册表进行身份验证,则必须针对每个注册表重复该命令。

{{< notice info "注意" >}}
如果收到错误,请安装或更新到最新版本的 Amazon CLI。有关更多信息,请参阅 Amazon Command Line Interface 用户指南中的安装 Amazon Command Line Interface
{{< /notice >}}

检索身份验证令牌并向注册表验证 Docker 客户端身份。

使用 亚马逊云科技 CLI:

aws ecr get-login-password --region cn-north-1 | docker login --username AWS --password-stdin 12345678.dkr.ecr.cn-north-1.amazonaws.com.cn

{{< notice info "注意: " >}}
如果您在使用 亚马逊云科技 CLI 时遇到错误,请确保您已安装最新版本的 亚马逊云科技 CLI 和 Docker。
{{< /notice >}}

构建 Docker 映像

如果您已生成映像,则可跳过此步骤:

docker build -t cnsre-test .

标记映像

生成完成后,标记您的映像,以便将映像推送到此存储库:

docker tag cnsre-test:latest 12345678.dkr.ecr.cn-north-1.amazonaws.com.cn/cnsre-test:latest

推送镜像

运行以下命令将此映像推送到新创建的 亚马逊云科技 存储库:

docker push 12345678.dkr.ecr.cn-north-1.amazonaws.com.cn/cnsre-test:latest

{{< notice info "注意" >}}
出现 Head https://registry-1.docker.io/v2/library/node/manifests/14-alpine的解决方法
{{< /notice >}}

vim /etc/docker/daemon.json 
# 添加国内的镜像 阿里云镜像 
{ "registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"] }
# 或者中科院镜像
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"] }

重启Docker

systemctl daemon-reload 
systemctl restart docker

拉取镜像

使用 docker pull 命令提取映像。映像名称格式应为 registry/repository[:tag] 以便按标签拉取,或为 registry/repository[@digest] 以便按摘要拉取。

docker pull 12345678.dkr.ecr.cn-north-1.amazonaws.com.cn/cnsre-test:latest

{{< notice info "注意" >}}
如果您收到 repository-url not found: does not exist or no pull access 错误,您可能需要向 Amazon ECR 验证您的 Docker 客户端。有关更多信息,请参阅 私有注册表身份验证
{{< /notice >}}


作者:SRE运维博客

博客地址: https://www.cnsre.cn/

文章地址:https://www.cnsre.cn/posts/211206944174/

相关话题:https://www.cnsre.cn/tags/aws/


相关文章

  • AWS私有仓库ECR推送拉取镜像

    作者:SRE运维博客[https://www.cnsre.cn/]博客地址: https://www.cnsre....

  • ecs/ecr使用

    一 .使用ecr功能制作镜像上传aws镜像仓库 1.创建存储库 2.推送本地镜像到存储库 安装aws cli参考h...

  • kubelet 拉取私有镜像过程

    kubelet拉取镜像是用许多密钥尝试去拉取,kubelet拉取私有镜像除了可以在yaml里面配置私有镜像仓库密钥...

  • docker私服操作

    将镜像推到私有仓库 登录远程仓库 修改tag 推送镜像 在其他服务器的docker上拉取刚上传到仓库的镜像 解决办法

  • Docker之八私有仓库

    个人专题目录 Docker 私有仓库 1. 私有仓库搭建 2. 将镜像上传至私有仓库 3. 从私有仓库拉取镜像

  • Docker搭建私有镜像仓库

    拉取私有仓库镜像 启动私有仓库容器 让docker信任私有仓库地址 修改daemon.json 添加如下内容,保存...

  • docker学习笔记-docker registry (九)

    1、搭建私有镜像仓库 1.1、拉取镜像registrydocker pull registry:21.2、启动容器...

  • Docker私有仓库

    一、Docker私有仓库搭建与配置 1、拉取私有仓库镜像 2、启动私有仓库容器 3、打开浏览器输入地址http:/...

  • Docker创建私有仓库以及DockerMaven插件

    Docker创建私有仓库 1、搜索registry镜像 2.拉取镜像 3.创建私有仓库容器 打开浏览器 输入地址h...

  • docker搭建私有仓库

    1.拉取私有镜像 docker pull registry 2.启动私有仓库容器 docker run -di -...

网友评论

      本文标题:AWS私有仓库ECR推送拉取镜像

      本文链接:https://www.haomeiwen.com/subject/uaygxrtx.html