如何解决toomanyrequests:您已达到拉取率限制您可以通过身份验证和升级来增加限制
当我想使用 CodeBuild 从 CodeCommit 中的 Dockerfile 构建映像时,为什么会发生这种情况?
我收到此错误:
toomanyrequests:您已达到拉取率限制。您可以通过身份验证和升级来增加限制:https://www.docker.com/increase-rate-limit
解决方法
尽量不要从 docker hub 拉取镜像,因为 docker 有拉取镜像的限制。
对私有镜像使用 ECR(Elastic Container Registry),对公共 docker 镜像使用 Amazon ECR Public Gallery。 Advice for customers dealing with Docker Hub rate limits,and a Coming Soon announcement 来自 AWS 的处理建议。
,一种解决方案是您应该通过以下命令登录docker hub:
$ sudo docker login --username=yourUsername
Password:
WARNING: login credentials saved in C:\Users\sven\.docker\config.json
Login Succeeded
,
如果您在机器上运行 docker pull _____
一次,在随后运行您的 Dockerfile
时,它将使用本地副本而不是访问 Docker Hub(并用完您的速率限制)。所以对我来说,我只运行了一次这个命令:
docker pull ubuntu:18.04
...随后它运行良好。
或者,通过将我的 Dockerfile
从以下位置切换到 AWS public Docker repository:
FROM ubuntu:18.04
到
FROM public.ecr.aws/lts/ubuntu:latest
也为我工作。
,如果 Amazon ECR 公共库不提供所需的镜像,也可以选择将镜像从 Docker Hub 复制到私有 ECR 注册表。
Skopeo 例如可以做到这一点。此代码段将您的私有注册表与 Docker Hub 同步:
skopeo sync --dest-creds AWS:$(aws ecr get-login-password --output text) --src docker --dest docker docker.io/library/nginx <YourAWSAccountId>.dkr.ecr.eu-central-1.amazonaws.com/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。