Überprüfen Sie den Status der Ratenbegrenzungsanwendung für Docker Pull

Überblick

Es wurde angekündigt, dass es ab dem 2. November 2020 implementiert wird, So überprüfen Sie den Anwendungsstatus der Docker-Pull-Ratenbeschränkungen in der Befehlszeile: Veröffentlicht im Docker-Blog -Docker-Pull-Rate-Limits-und-Status /) wurde durchgeführt. Dies ist eine Aufzeichnung darüber, wie man dies tatsächlich versucht.

Punkt

Informationen zu Docker Pull Rate Limits

Download bei Pull, wie am 24. August angekündigt angekündigt von Docker Es scheint, dass sich das Verhältnislimit ab dem 2. November ändern wird.

Der letzte eingeschränkte Status wird auf der folgenden Seite veröffentlicht.

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.

Überprüfen Sie das Ratenlimit

Eine Möglichkeit zur Überprüfung des Ratenlimits finden Sie im Docker-Blog.

Dies bestätigt, dass das Ratenlimit auf Pseudo-Weise angewendet wird, indem der Befehl zum "Ziehen" des Bildes "Ratelimitpreview / Test" ausgeführt wird.

Wie im Blog erwähnt, wird die Befehlsausführung selbst, die die Anforderung ausführt, natürlich gezählt, wenn die Anforderung (pull) tatsächlich an Docker Hub gesendet wird. Bitte seien Sie vorsichtig.

Vorbereitungen

-- jq ist erforderlich (yum install jq für CentOS)

Spezifische Bestätigung

So testen Sie Ihre Anfrage mit Anonymous

Führen Sie diesen Befehl in der Umgebung aus, in der Docker installiert ist.

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

dann

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

Sie können sehen, dass das aktuelle Limit (Limit) "100" und der Rest (RateLimit-Remaining) "99" ist.

Wenn Sie den Befehl "Docker Pull" mehrmals ausführen und den Download fortsetzen,

$  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

Es ist ersichtlich, dass "RateLimit-Ramaining" auf "95" reduziert ist.

So authentifizieren und testen Sie

Geben Sie in der zweiten Zeile den "Benutzernamen" und das "Passwort" ein, wenn Sie sich bei Docker Hub anmelden.

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

Nachdem Sie das Token erhalten haben, können Sie es auf die gleiche Weise wie anonym überprüfen.

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

Um einfach die aktuell angewendete Rate zu überprüfen, verwenden Sie ein Tool, das "jwt" (JSON Web Token) für den Inhalt von "$ TOKEN" verarbeiten kann, oder wenn es sich um eine Befehlszeile handelt

$ for line in `echo -n $TOKEN | tr "." "\n"`; do echo -n $line | base64 -d 2>/dev/null | jq  2>/dev/null && echo;done

Sie können es auch anhand der folgenden pull_limit und pull_limit_interval überprüfen.


{
  "access": [
    {
      "type": "repository",
      "name": "ratelimitpreview/test",
      "actions": [
        "pull"
      ],
      "parameters": {
        "pull_limit": "200",
        "pull_limit_interval": "21600"
      }
    }
  ],

Memo

Es scheint, dass es kein Problem für den normalen persönlichen Gebrauch gibt, aber wenn der Zugriff von einem Ort in kurzer Zeit in einer Umgebung konzentriert ist, in der CI anonym oder über PROXY oder ein Gateway gedreht wird ( Kann betroffen sein (ohne Zertifizierung).

Recommended Posts

Überprüfen Sie den Status der Ratenbegrenzungsanwendung für Docker Pull
Überprüfen Sie den Migrationsstatus von Schienen
Überprüfen Sie den Status der Java-Anwendung, ohne das Überwachungstool zu verwenden
Informationen zum Pull-Limit von Docker Hub
Für Docker Container Pull ist ein Ratenlimit festgelegt
Überprüfen Sie den Status der Ratenbegrenzungsanwendung für Docker Pull
Benutzer von GitHub-Aktionen bereiten sich jetzt auf das Docker Hub-Pull-Limit vor
Für Docker Container Pull ist ein Ratenlimit festgelegt
Docker-Überwachung - Erläuterung der Grundlagen der Grundlagen
Informationen zum Pull-Limit von Docker Hub
Befehl zum Überprüfen der Anzahl und des Status von Java-Threads
[Schienen] Überprüfen Sie den Inhalt des Objekts
Überprüfen Sie die Version von Cent OS
Überprüfen Sie den Inhalt des Java-Zertifikatspeichers
Anmerkung: [Java] Überprüfen Sie den Inhalt des Verzeichnisses
Die Geschichte der Aktualisierung des Docker-Containers von Sonar Qube
Statusüberwachung von Java-Apps mit Elasticsearch
Überprüfen Sie die Version der Standard-Web-Software.
[Java] Überprüfen Sie die Anzahl der Zeichen
Überprüfen Sie die Funktion der Schnittstelle über den Thread
UCP-45060 Der Lebenszyklusstatus ist ungültig. Überprüfen Sie den Status des universellen Verbindungspools
Überprüfen Sie die installierte und aktivierte JDK-Version
So überprüfen Sie das Protokoll im Docker-Container
Verbessern Sie die Leistung der Docker-Entwicklungsumgebung
Lassen Sie uns das Gefühl von Spring Boot + Swagger 2.0 überprüfen
Ändern Sie die URL der Eclipse-Projekt-App (Maven).
Führen Sie Docker in die Anwendung ein, die Sie erstellen
Ändern Sie den Docker-Image- und Container-Platzierungsordner
So installieren Sie Docker in der lokalen Umgebung einer vorhandenen Rails-App [Rails 6 / MySQL 8]