Docker:官方拉取限制问题

DockerHub对匿名和认证用户设定了镜像拉取次数限制。用户可以检查剩余拉取次数,通过更改镜像源、切换IP或购买DockerPro来应对限制。匿名用户每6小时100次,认证用户每6小时200次。解决方案包括使用镜像镜像服务,如中科大镜像,或者升级到DockerPro以增加拉取额度。
摘要由CSDN通过智能技术生成

问题:如docker pull等docker命令受限制

toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading:Understanding Your Docker Hub Rate Limit | Docker


2020 年 11 月 20 日,Docker Hub 基于个人 IP 地址对匿名和免费认证的用户进行了镜像拉取次数的限制。
对于匿名用户,限制设置为每个 IP 地址每 6 小时 100 次拉取。
对于经过身份验证的用户,每 6 小时 200 次拉取。

那么如何查看我们剩余的拉取次数呢?
匿名用户获取令牌:

TOKEN=$(curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)

认证用户获取令牌:

TOKEN=$(curl --user 'username:password' "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)

构造命令:

curl --head -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest

 结果所示:

HTTP/1.1 200 OK
content-length: 2782
content-type: application/vnd.docker.distribution.manifest.v1+prettyjws
docker-content-digest: sha256:767a3815c34823b355bed31760d5fa3daca0aec2ce15b217c9cd83229e0e2020
docker-distribution-api-version: registry/2.0
etag: "sha256:767a3815c34823b355bed31760d5fa3daca0aec2ce15b217c9cd83229e0e2020"
date: Wed, 17 May 2023 09:19:47 GMT
strict-transport-security: max-age=31536000
ratelimit-limit: 100;w=21600
ratelimit-remaining: 100;w=21600
docker-ratelimit-source: 150.230.220.46

这意味着我的限制是每 21600 秒(6 小时)拉取 100 次,还可以拉取 100次。
 


解决方法1:改镜像源

#打开配置文件
gedit /etc/docker/daemon.json

#添加配置,使用中科大的镜像
{
  "registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com"]
}

#重置生效
systemctl daemon-reload && systemctl restart docker

解决方法2:改IP

用匿名的方式请求docker,上限了是限制IP

用账号登陆的方式请求,上限了是限制账号

因此改了IP就能重新请求,不过就是手动换的话有点麻烦


解决方法3:买docker hub pro

Docker Pro | Docker

一年$60,每个月单买$7,1天能请求5000次

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值