toomanyrequests:您已达到拉取率限制。您可以通过身份验证和升级来增加限制
toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading
当我想使用 CodeBuild 从 CodeCommit 中的 Dockerfile 构建映像时,为什么会发生这种情况?
我收到这个错误:
toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
尽量不要从 docker 中心拉取图像,因为 docker 对拉取图像有限制。
对 public docker 个图像使用 ECR(Elastic Container Registry) for private images and Amazon ECR Public Gallery。
Advice for customers dealing with Docker Hub rate limits, and a Coming Soon announcement 获取 AWS 处理此问题的建议。
如果你在机器上 运行 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 Public Gallery 不提供所需的图像,将图像从 Docker Hub 复制到私有 ECR 注册表也是一种选择。
例如 Skopeo 可以做到这一点。此代码段将您的私有注册表与 Docker 中心同步:
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/
一个解决方案是您应该通过以下命令登录 docker hub:
$ sudo docker login --username=yourUsername
Password:
WARNING: login credentials saved in C:\Users\sven\.docker\config.json
Login Succeeded
就我而言,Docker 登录没有问题。
我可以用 docker pull nginx
下载 docker 个图像。
但是,当我尝试使用上图创建一个 k8s pod 时,出现了这个错误:
您已达到拉取率限制。您可以通过身份验证和升级来增加限制
我就是这样解决这个问题的by creating a private docker registry
:
创建并 运行 私有 docker 注册表
docker run -d -p 5000:5000 --restart=always --name registry registry:2
从 public 下载 nginx 镜像 docker hub
docker pull nginx
在将 nginx 推送到私有注册表之前为它创建一个标签
docker tag nginx localhost:5000/nginx
推送到注册表
docker push localhost:5000/nginx
终于成功创建了一个Pod,也解决了这个问题。
当我想使用 CodeBuild 从 CodeCommit 中的 Dockerfile 构建映像时,为什么会发生这种情况?
我收到这个错误:
toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
尽量不要从 docker 中心拉取图像,因为 docker 对拉取图像有限制。
对 public docker 个图像使用 ECR(Elastic Container Registry) for private images and Amazon ECR Public Gallery。 Advice for customers dealing with Docker Hub rate limits, and a Coming Soon announcement 获取 AWS 处理此问题的建议。
如果你在机器上 运行 docker pull _____
一次,随后你的 Dockerfile
是 运行,它将使用本地副本而不是点击 Docker Hub(并用完您的速率限制)。所以对我来说,我 运行 这个命令一次性:
docker pull ubuntu:18.04
...以及随后的几次它工作正常。
或者,通过将我的 Dockerfile
从:
FROM ubuntu:18.04
至
FROM public.ecr.aws/lts/ubuntu:latest
对我也有用。
如果 Amazon ECR Public Gallery 不提供所需的图像,将图像从 Docker Hub 复制到私有 ECR 注册表也是一种选择。
例如Skopeo 可以做到这一点。此代码段将您的私有注册表与 Docker 中心同步:
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/
一个解决方案是您应该通过以下命令登录 docker hub:
$ sudo docker login --username=yourUsername
Password:
WARNING: login credentials saved in C:\Users\sven\.docker\config.json
Login Succeeded
就我而言,Docker 登录没有问题。
我可以用 docker pull nginx
下载 docker 个图像。
但是,当我尝试使用上图创建一个 k8s pod 时,出现了这个错误:
您已达到拉取率限制。您可以通过身份验证和升级来增加限制
我就是这样解决这个问题的by creating a private docker registry
:
创建并 运行 私有 docker 注册表
docker run -d -p 5000:5000 --restart=always --name registry registry:2
从 public 下载 nginx 镜像 docker hub
docker pull nginx
在将 nginx 推送到私有注册表之前为它创建一个标签
docker tag nginx localhost:5000/nginx
推送到注册表
docker push localhost:5000/nginx
终于成功创建了一个Pod,也解决了这个问题。