Amazon容器registrylogin

由于我们在许多其他项目中使用了AWS,因此,到时候在存储库中发布私有Docker镜像,我真的很想使用Amazon Elastic Container Registry。 但是,login过程似乎过于复杂。
login到ECR的唯一方法是使用aws命令行工具生成一个12小时的令牌并将其与Dockerlogin命令一起使用吗? 任何关于在没有AWS工具的情况下编写脚本的build议?

您必须使用AWS工具来生成由Docker CLI使用的临时授权令牌,因为它不支持标准的AWSvalidation方法。 引用官方AWS ECRauthentication文档的解释:

由于Docker CLI不支持标准AWS身份validation方法,因此您必须以另一种方式validationDocker客户端,以便Amazon ECR知道哪些用户正在请求推送或拉取图像。 如果使用Docker CLI,则使用docker login命令使用由Amazon ECR提供的授权令牌对Amazon ECR注册中心进行authentication,并且有效期为12小时。 GetAuthorizationToken API操作提供了base64编码的授权令牌,其中包含用户名(AWS)和可在dockerlogin命令中解码和使用的密码。 但是,AWS CLI中提供了一个更简单的get-login命令(用于检索令牌,对其进行解码并将其转换为dockerlogin命令)。

请注意,尽pipe您必须使用AWS工具来生成身份validation令牌,但使用AWS CLI并不是唯一的select。 您可以使用任何forms的AWS工具来调用GetAuthorizationToken ,这些工具可以方便地从您的脚本中使用。

get-login命令仅在AWS CLI中可用,而不是其他AWS工具。 如上所述,声称是一种执行授权的简单方法。