Vérifiez l'état de l'application de la limite de débit de docker pull

Aperçu

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

À propos des limites du taux d'extraction Docker

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.

Vérifiez la limite de taux

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.

Préparation préalable

-- 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.

Confirmation spécifique

Comment tester votre demande avec Anonymous

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".

Comment s'authentifier et tester

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"
      }
    }
  ],

Note

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

Vérifiez l'état de l'application de la limite de débit de docker pull
Vérifier l'état de migration des rails
Vérifiez l'état des applications Java sans utiliser d'outils de surveillance
À propos de la limite d'extraction Docker Hub
L'extraction du conteneur Docker a une limite de débit appliquée
Vérifiez l'état de l'application de la limite de débit de docker pull
Les utilisateurs d'actions GitHub se préparent maintenant à la limite d'extraction de Docker Hub
L'extraction du conteneur Docker a une limite de débit appliquée
Surveillance Docker-expliquant les bases des bases-
À propos de la limite d'extraction Docker Hub
Commande pour vérifier le nombre et l'état des threads Java
[Rails] Vérifiez le contenu de l'objet
Vérifiez la version de Cent OS
Vérifiez le contenu du magasin de certificats Java
Mémo: [Java] Vérifiez le contenu du répertoire
L'histoire de la mise à jour du Docker Container de Sonar Qube
Surveillance de l'état des applications Java à l'aide d'Elasticsearch
Vérifiez la version du logiciel Web standard.
[Java] Vérifiez le nombre d'occurrences de caractères
Vérifiez le fonctionnement de l'interface à travers le thread
UCP-45060 L'état du cycle de vie n'est pas valide. Vérifiez l'état du pool de connexions universelles
Vérifiez la version de JDK installée et la version de JDK activée
Comment vérifier le journal dans le conteneur Docker
Améliorer les performances de l'environnement de développement Docker
Vérifions la sensation de Spring Boot + Swagger 2.0
Modifiez l'URL de l'application du projet Eclipse (Maven).
Présentez docker à l'application que vous créez
Modifier le dossier de placement de l'image et du conteneur Docker
Comment installer Docker dans l'environnement local d'une application Rails existante [Rails 6 / MySQL 8]