Lösung für das Docker-Pull-Timeout

Lösung für das Docker-Pull-Timeout

In letzter Zeit ist das Abrufen von Docker-Images sehr instabil. Es ist langsam und es kommt häufig zu Zeitüberschreitungen.

Ziehe xlxdsj_swagger_ui (swaggerapi/swagger-ui:) …
aktuell: Abrufen von swaggerapi/swagger-ui
ba3557a56b15: Ziehen abgeschlossen
1a18b9f93d41: Ziehen abgeschlossen
38ceab6c6432: Ziehen abgeschlossen
6104f3bd82cc: Ziehen abgeschlossen
750e0e12d70c: Ziehen abgeschlossen
d7c38a871210: Ziehen abgeschlossen
cbd9bbb7c3b7: Ziehen abgeschlossen
3d6723371070: Ziehen abgeschlossen
5e5b2de4487f: Ziehen abgeschlossen
3c84c9c2d567: Ziehen abgeschlossen
9e7d57b00bb8: Ziehen abgeschlossen
5356d2f5be08: Ziehen abgeschlossen
Zusammenfassung: sha256:2a746f15dacc2f2e381b3449544b82e6c7604567f05606d957ff5b7cf7d29a47
Status: Neueres Image für swaggerapi/swagger-ui:latest heruntergeladen
Ziehe xlxdsj_swagger_editor (swaggerapi/swagger-editor:) …
FEHLER: Get https://registry-1.docker.io/v2/: net/http: Anfrage beim Warten auf Verbindung abgebrochen (Client.Timeout beim Warten auf Header überschritten)

Es gibt drei allgemeine Lösungen:

1. DNS ändern

2. Ändern Sie die Adresse des Bild-Repositorys

3. Hosts ändern

Verwenden des Socks5-Proxys

Die folgenden Vorgänge erfolgen alle in CentOS7. Bei Ubuntu ist es grundsätzlich dasselbe. macOS und Windows haben dasselbe Prinzip.

DNS ändern

>>> vim /etc/resolv.conf
Nameserver 8.8.8.8

Ändern Sie die Adresse des Bildrepositorys

>>> vim /etc/docker/daemon.json
{
 "Registrierungsspiegel": ["https://docker.mirrors.ustc.edu.cn", "https://reg-mirror.qiniu.com"]
}
>>> systemctl daemon-reload
>>> systemctl Neustart Docker

Host ändern

# Installieren Sie dig
>>> sudo yum installiere bind-utils
>>> dig @114.114.114.114 registry-1.docker.io
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.3 <<>> @114.114.114.114 registry-1.docker.io
; (1 Server gefunden)
;; Globale Optionen: +cmd
;; Antwort erhalten:
;; ->>HEADER<<- Operationscode: QUERY, Status: NOERROR, ID: 18733
;; Flags: qr rd ra; Anfrage: 1, Antwort: 8, Autorität: 0, Zusatz: 1
;; OPT PSEUDOSEKTION:
; EDNS: Version: 0, Flags:; UDP: 512
;; FRAGENABSCHNITT:
;registry-1.docker.io. IN A
;; ANTWORT-ABSCHNITT:
registry-1.docker.io.38 IN A 54.85.56.253
registry-1.docker.io.38 IN A 35.174.73.84
registry-1.docker.io.38 IN A 23.22.155.84
registry-1.docker.io.38 IN A 18.213.137.78
registry-1.docker.io.38 IN A 107.23.149.57
registry-1.docker.io.38 IN A 52.5.11.128
registry-1.docker.io.38 IN A 52.54.232.21
registry-1.docker.io.38 IN A 52.20.56.50
;; Abfragezeit: 8 ms
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WANN: Di., 23. Feb. 2021, 09:03:18 CST
;; empfangene MSG-Größe: 177
>>> sudo vim /etc/hosts
35.174.73.84 Registrierung-1.docker.io

Verwenden des Socks5-Proxys

Wenn die vorherigen Methoden nicht gut funktionieren, sollten Sie Folgendes verwenden

Voraussetzung ist, dass ss installiert wurde

>>> vim /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Umgebung="HTTP_PROXY=socks5://127.0.0.1:1080"
>>> systemctl daemon-reload
>>> systemctl Neustart Docker
>>> systemctl show --property=Umgebungs-Docker
Umgebung=HTTP_PROXY=socks5://127.0.0.1:1080

Ergänzung: Lösung für Docker-Pull-Image-Fehler oder Timeout, ändern Sie die Pull-Adresse in das inländische Image-Warehouse

Die Standard-Image-Pull-Adresse von Docker ist ein externes Warehouse, das eine langsame Download-Geschwindigkeit hat und diesen Fehler sogar melden kann.

Fehlerantwort vom Daemon: Get https://docker.elastic.co/v2/: net/http: TLS-Handshake-Timeout

Lösung: Ändern Sie die Datei /etc/docker/daemon.json und fügen Sie den Schlüsselwert „Registry-Mirrors“ hinzu.

Starten Sie dann Docker neu.

{
 "Registrierungsspiegel": ["https://registry.docker-cn.com"]
}

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung, wo das von Docker abgerufene Image gespeichert ist
  • Docker-Pull-Image und Tag-Vorgang Pull | Tag
  • Docker-Konfiguration Alibaba Cloud Image Acceleration Pull-Implementierung
  • Detaillierte Erklärung, wo die von Docker abgerufenen Bilder gespeichert werden
  • Lösen Sie das Problem, dass Docker Pull zurückgesetzt wird
  • Lösung für das Problem der langsamen Docker-Pull-Image-Geschwindigkeit
  • So lösen Sie das Problem der langsamen Docker-Pull-Image-Geschwindigkeit
  • Detaillierte Erklärung, wo die von Docker abgerufenen Bilddateien gespeichert werden
  • Detaillierte Erläuterung zum Ändern der Docker-Pull-Image-Quelle

<<:  Sie müssen wirklich die Verwendung von CSS-Variablen var() verstehen

>>:  Beispiele für die Interaktion zwischen MySQL und Python

Artikel empfehlen

Grafisches Tutorial zur Installation von MySQL 5.7.19 (tar.gz) unter Linux

Das erste Tutorial zur Installation der MySQL-5.7...

Zwei Möglichkeiten zur Visualisierung von ClickHouse-Daten mit Apache Superset

Apache Superset ist ein leistungsstarkes BI-Tool,...

Lernen Sie MySQL-Datenbanken in einer Stunde (Zhang Guo)

Inhaltsverzeichnis 1. Datenbankübersicht 1.1 Entw...

So zeigen Sie die Ausführungszeit von SQL-Anweisungen in MySQL an

Inhaltsverzeichnis 1. Erste SQL-Vorbereitung 2. M...

Einführung und Zusammenfassung der MySQL 8.0-Fensterfunktionen

Vorwort Vor MySQL 8.0 war es ziemlich mühsam, Dat...

Beispieloperation für die Summe des Mysql-Varchar-Typs

Einige Freunde haben beim Erlernen von Datenbanke...

Vue implementiert das digitale Tausendertrennzeichenformat global

In diesem Artikelbeispiel wird der spezifische Co...

Zusammenfassung der MySQL-Injection-Bypass-Filtertechniken

Schauen wir uns zunächst den GIF-Vorgang an: Fall...

Native js implementiert Warenkorb-Logik und -Funktionen

In diesem Artikelbeispiel wird der spezifische Co...