ECR - Elastic Container Registry

这是一项完全托管的服务,因此,您不需要配置任何基础设施来创建此 Docker 映像注册表。 这一切均由 AWS 进行配置和管理。 该服务主要由开发人员使用,允许他们在集中且安全的位置推送、拉取和管理其 Docker 镜像库。

为了更好地理解该服务,让我们看一下所使用的一些组件。 它们是注册表、授权令牌、存储库、存储库策略和image。 我们先看一下注册表。 ECR 注册表是允许您托管和存储 docker 映像以及创建映像存储库的对象。 在您的 AWS 账户中,您将获得一个默认注册表。 创建注册表后,默认情况下,注册表的 URL 如下:

https://aws_account_id.dkr.ecr.region.amazonaws.com

您需要将红色文本替换为您自己的适用于您的帐户或媒介的信息。 默认情况下,您的帐户将对您在注册表和任何存储库中创建的任何图像具有读取和写入访问权限。 除了存储库策略之外,还可以通过 IAM 策略来控制对注册表和映像的访问,以实施更严格的安全控制。 由于 docker 命令行界面不支持所使用的不同 AWS 身份验证方法,因此在 docker 客户端可以访问您的注册表之前,需要将其验证为 AWS 用户,这将允许您的客户端进行推送和拉取 图片。 这是通过使用授权令牌来完成的。 要开始授权过程以允许 docker 客户端与默认注册表进行通信,您可以使用 AWS CLI 运行 get login 命令,如下所示:

aws ecr get-login --region 区域 --no-include-email

其中红色文本应替换为您自己的区域。 然后,这将产生一个输出响应,这将是一个 docker 登录命令。

docker 登录 -u AWS -p 密码 https://aws_account_id.dkr.ecr.region.amazonaws.com

然后,您必须复制此命令并将其粘贴到您的 docker 终端中,该终端将验证您的客户端并将 docker CLI 关联到您的默认注册表。 此过程会生成一个授权令牌,可在注册表中使用 12 小时,此时,您需要按照相同的过程重新进行身份验证。 存储库是注册表中的对象,允许您将不同的 docker 映像组合在一起并保护其安全。 您可以使用注册表创建多个存储库,从而允许您将 docker 映像组织和管理到不同的类别。

使用 IAM 和存储库策略中的策略,您可以向每个存储库分配权限,允许特定用户执行某些操作,例如执行推送或拉取 IP 线路。 正如我刚才提到的,您可以使用 IAM 策略和存储库策略来控制对存储库和映像的访问。 有许多不同的 IAM 托管策略可帮助您控制对 ECR 的访问,屏幕上显示了这三个策略。

AmazonEC2ContainerRegistryFullAccess

AmazonEC2ContainerRegistryPowerUser

AmazonEC2ContainerRegistry只读

有关 IAM 和策略的更多信息,请参阅此处的系统课程,其中涵盖 IAM 和策略创建和管理。 存储库策略是基于资源的策略,这意味着您需要确保向策略添加原则来确定谁有权访问以及他们拥有哪些权限。 重要的是要注意,AWS 用户要获得对注册表的访问权限,他们将需要访问 ecr 获取授权令牌 API 调用。 一旦他们拥有此访问权限,存储库策略就可以控制这些用户可以在每个存储库上执行哪些操作。 这些基于资源的策略是在 ECR 本身以及您拥有的每个其他存储库中创建的。 配置注册表、存储库和安全控制并使用 ECR 对 docker 客户端进行身份验证后,您就可以开始将 docker 镜像存储在所需的存储库中,准备好在需要时再次下拉。

要将映像推送到 ECR,您可以使用 docker push 命令,要检索映像,您可以使用 docker pull 命令。 有关如何执行图像推送和拉取的更多信息,请参阅以下链接。

Docker 推送:https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html

Docker 拉取:https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-pull-ecr-image.html

相关推荐
身如柳絮随风扬4 小时前
Dubbo 与 Spring Cloud 终极对比:RPC 框架 vs 微服务生态
spring cloud·rpc·dubbo
匀泪8 小时前
云原生(Kubernetes service微服务)
微服务·云原生·kubernetes
一个有温度的技术博主9 小时前
Spring Cloud 入门与实战:从架构拆分到核心组件详解
spring·spring cloud·架构
倔强的胖蚂蚁10 小时前
Ollama Modelfile 配置文件 全指南
云原生·开源
uNke DEPH10 小时前
SpringCloud Gateway 集成 Sentinel 详解 及实现动态监听Nacos规则配置实时更新流控规则
spring cloud·gateway·sentinel
AutoMQ12 小时前
AWS 新发布的 S3 Files 适合作为 Kafka 的存储吗?
云原生·消息队列·云计算
慕容卡卡14 小时前
你所不知道的RAG那些事
java·开发语言·人工智能·spring boot·spring cloud
dLYG DUMS15 小时前
Spring Cloud Data Flow 简介
后端·spring·spring cloud
MY_TEUCK15 小时前
从零开始:使用Sealos Devbox快速搭建云原生开发环境
人工智能·spring boot·ai·云原生·aigc
Ken_11151 天前
SpringCloud系列(61)--Nacos之服务配置中心的介绍与使用
spring cloud