Amazon容器注册表登录

时间:2016-02-18 16:44:05

标签: amazon-web-services docker

由于我们将AWS用于许多其他项目,当需要在存储库中发布私有docker镜像时,我真的想使用Amazon Elastic Container Registry。 但是,登录过程似乎过于复杂 是否正确登录ECR的唯一方法是使用aws命令行工具生成12小时令牌,并将其与Docker登录命令一起使用? 有关使用AWS工具编写此流程脚本的任何建议吗?

1 个答案:

答案 0 :(得分:2)

您必须使用AWS工具生成Docker CLI使用的临时授权令牌,因为它不支持标准的AWS身份验证方法。引用official AWS ECR authentication documentation

中的解释
  

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

请注意,尽管您必须使用AWS工具生成身份验证令牌,但使用AWS CLI并不是唯一的选择。您可以使用便于在脚本中使用的任何形式的GetAuthorizationToken来调用AWS tools

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

相关问题