Il a été annoncé qu'il sera mis en œuvre à partir du 2 novembre 2020, Comment vérifier l'état de l'application des limites de taux d'extraction de docker sur la ligne de commande est Publié sur le blog Docker -docker-pull-rate-limits-and-status /) a été effectué. C'est un record d'essayer cela.
point
Téléchargement au pull, comme annoncé le 24 août Annoncé par Docker Il semble que la limite du ratio changera à partir du 2 novembre.
--100 téléchargements / 6 heures si non authentifié (utilisateur anonyme) --200 téléchargements / 6 heures si authentifié (compte gratuit)
Le dernier statut restreint est publié sur la page suivante.
Current Docker Hub Usage Limit Status (updated 11/2, 9:00am Pacific) Unauthenticated requests: 5,000 per six hours Free tier requests: 5,000 per six hours
Temporary full enforcement window (100 per six hours for unauthenticated requests, 200 per six hours for free accounts): November 2, 9am-10am Pacific Time.
Un moyen de vérifier la limite de taux est publié sur le blog Docker.
Cela confirme que la limite de débit est appliquée de manière pseudo en exécutant la commande pour "extraire" l'image "ratelimitpreview / test".
Cependant, comme mentionné dans le blog, l'exécution de la commande elle-même qui exécute la requête est naturellement comptée lorsque la requête (pull
) est effectivement envoyée à Docker Hub. S'il vous plaît soyez prudente.
-- jq
est requis (yum install jq
pour CentOS)
--Si vous voulez voir les données en détail, un outil de ligne de commande tel que base64
qui peut traiter jwt selon les besoins.
Exécutez cette commande sur l'environnement où Docker est installé.
$ TOKEN=$(curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)
puis
curl -v -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest 2>&1 | grep RateLimit
< RateLimit-Limit: 100;w=21600
< RateLimit-Remaining: 99;w=21600
Vous pouvez voir que la limite actuelle (Limit) est «100» et le reste (RateLimit-Remaining) est «99».
Si vous exécutez la commande docker pull
plusieurs fois et continuez le téléchargement,
$ curl -v -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest 2>&1 | grep RateLimit
< RateLimit-Limit: 100;w=21600
< RateLimit-Remaining: 95;w=21600
On peut voir que "RateLimit-Ramaining" est réduit à "95".
Entrez le «nom d'utilisateur» et le «mot de passe» sur la deuxième ligne lors de la connexion à Docker Hub.
$ HISTCONTROL=ignorespace
$ TOKEN=$(curl --user 'username:password' "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)
Après avoir obtenu le jeton, vous pouvez le vérifier de la même manière que anonyme.
curl -v -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest 2>&1 | grep RateLimit
< RateLimit-Limit: 200;w=21600
< RateLimit-Remaining: 198;w=21600
Pour vérifier simplement le taux actuellement appliqué, utilisez un outil capable de gérer jwt
(jeton Web JSON) pour le contenu de $ TOKEN
, ou s'il s'agit d'une ligne de commande
$ for line in `echo -n $TOKEN | tr "." "\n"`; do echo -n $line | base64 -d 2>/dev/null | jq 2>/dev/null && echo;done
Vous pouvez également le vérifier à partir des éléments suivants pull_limit
et pull_limit_interval
.
{
"access": [
{
"type": "repository",
"name": "ratelimitpreview/test",
"actions": [
"pull"
],
"parameters": {
"pull_limit": "200",
"pull_limit_interval": "21600"
}
}
],
Il semble qu'il n'y ait pas de problème pour une utilisation personnelle normale, mais si l'accès d'un endroit est concentré en peu de temps dans un environnement où CI est tourné de manière anonyme ou via PROXY ou une passerelle ( Peut être affecté (sans certification).
Recommended Posts