Problemphänomen:
Mögliche Ursachenanalyse:Linux prüft anhand des Datums die aktuelle Uhrzeit und vergleicht sie mit der Gültigkeitsdauer des Zertifikats, um den konkreten Grund zu ermitteln. Dieser kann einer der folgenden beiden sein: 1. Die Uhrzeit dieser Maschine ist falsch; 2. Das Zertifikat des Registers ist tatsächlich abgelaufen; Lösung:1. Die Uhrzeit dieser Maschine ist falsch;Ändern Sie einfach die Ortszeit 2. Das Zertifikat des Registers ist tatsächlich abgelaufen;Erstellen Sie eine SSL-Sicherheitsausnahme für die Registry und verzichten Sie auf die Gültigkeitsprüfung des Registry-Server-Zertifikats. Dies birgt jedoch Sicherheitsrisiken. Wenn unsichere Register aktiviert sind, versucht Docker mit den folgenden Schritten, eine Verbindung zu https herzustellen: Versuchen Sie zuerst, HTTPS zu verwenden. Wenn die HTTPS-Verbindung erreichbar ist, das Zertifikat jedoch nicht verfügbar ist, ignorieren Sie den Zertifikatsfehler. Wenn keine HTTPS-Verbindung verfügbar ist, wird HTTP verwendet. CentOS: Erstellen Sie eine Daemon-Konfigurationsdatei daemon.json im Verzeichnis /etc/docker/ und schreiben Sie das IP-Adresssegment Ihres Zielregisters oder den spezifischen Dienstdomänennamen und die Portnummer in die JSON-Datei. Beispielsweise ist das Netzwerksegment, in dem sich mein Server befindet, 10.0.0.0/8. Der Inhalt lautet dann wie folgt: { "unsichere Registrierungen" : ["10.0.0.0/8"] } Sie können auch den Domänennamen und die Portnummer verwenden, wie unten gezeigt: { "unsichere Registrierungen" : ["myregistrydomain.com:5000"] } Unter Windows ändern Sie die Datei C:\ProgramData\docker\config\daemon.json. Das Format ist das gleiche wie bei Linux. Starten Sie den Docker-Dienst neu. Prüfen Sie die Wirksamkeit und achten Sie auf das Feld „Unsichere Registrierungen“. [root@localhost ~]# Docker-Info Docker-Informationen: Behälter: 0 Laufen: 0 Pausiert: 0 Angehalten: 0 Bilder: 2 Serverversion: 17.05.0-ce Speichertreiber: Overlay Unterstützendes Dateisystem: xfs Unterstützt d_type: true Protokollierungstreiber: JSON-Datei Cgroup-Treiber: cgroupfs Plugins: Lautstärke: lokal Netzwerk: Bridge-Host Macvlan Null-Overlay Schwarm: inaktiv Laufzeiten: runc Standardlaufzeit: runc Binärdatei initialisieren: docker-init Containerd-Version: 9048e5e50717ea4497b757314bad98ea3763c145 runc-Version: 9c2d8d184e5da67c95d601382adf14862e4f2228 Init-Version: 949e6fa Sicherheitsoptionen: sicherheitskomp Profil: Standard Kernel-Version: 3.10.0-693.el7.x86_64 Betriebssystem: CentOS Linux 7 (Core) Betriebssystemtyp: Linux Architektur: x86_64 CPUs: 24 Gesamtspeicher: 62,74 GiB Name: localhost.localdomain ID: 755F:OEFV:VP3S:BMGQ:VUFW:WGT5:YQHO:EW6T:AAVE:NHS2:TPV3:SBTJ Docker-Stammverzeichnis: /var/lib/docker Debug-Modus (Client): false Debug-Modus (Server): false Registrierung: https://index.docker.io/v1/ Experimentell: falsch Unsichere Register: 10.0.0.0/8 127.0.0.0/8 Live-Wiederherstellung aktiviert: false So überprüfen Sie die Gültigkeitsdauer eines ServerzertifikatsNehmen wir Firefox als Beispiel Ergänzung: Ersetzen Sie abgelaufene selbstsignierte Zertifikate im privaten Docker-Repository Ersetzen des Docker-RegistrierungszertifikatsBeim Abrufen des Bildes wird der folgende Fehler gemeldet: k8s@master:~/shiyu$ docker pull reg.netlab.com/tensorflow-cpu Standard-Tag verwenden: latest Fehlerantwort vom Daemon: Get https://reg.netlab.com/v2/: x509: Zertifikat ist abgelaufen oder noch nicht gültig Überprüfen Sie, ob das Zertifikat in /etc/docker/certs abgelaufen istroot@master:~# openssl x509 -in /etc/docker/certs.d/reg.netlab.com/reg.netlab.com.crt -noout -dates nicht vorher=1. April 2019, 13:21:22 GMT notAfter=31. März 2020, 13:21:22 GMT Offenbar ist das selbstsignierte Zertifikat am 31. März 2020 abgelaufen. Ein neues Zertifikat erneut signierenErstellen Sie einen Ordner „~/certs“ zum Speichern von Schlüsseln und privaten Schlüsseln mkdir -p ~/Zertifikate Schlüssel generieren cd ~/Zertifikate openssl genrsa -out reg.netlab.com.key 2048 Schlüsseldatei generieren openssl req -newkey rsa:4096 -nodes -sha256 -keyout reg.netlab.com.key -x509 -days 365 -out reg.netlab.com.crt Geben Sie die relevanten Informationen ein Ländername (2-Buchstaben-Code) [XX]:CN # Ihr Ländername Name des Staates oder der Provinz (vollständiger Name) []:guangdong # Name der Provinz/Ortschaft (z. B. Stadt) [Standardstadt]:guagnzhou # Name der Stadt/Organisation (z. B. Unternehmen) [Standardunternehmen Ltd]:sysu # Name der Organisationseinheit (z. B. Abschnitt) []:netlab # Allgemeiner Name (z. B. Ihr Name oder der Hostname Ihres Servers) []:reg.netlab.com # E-Mail-Adresse []:[email protected] An diesem Punkt ist die Selbstsignierung des Zertifikats abgeschlossen. Fügen Sie das Zertifikat zum Docker-Stammzertifikat hinzu und starten Sie Docker neu.Hinweis: Da es sich um ein selbstsigniertes Zertifikat handelt, wird es von Docker standardmäßig nicht als vertrauenswürdig eingestuft. Sie müssen das Zertifikat daher zum Stammzertifikat von Docker hinzufügen. In CentOS 7/Ubuntu 18 lautet der Zertifikatspeicherpfad /etc/docker/certs.d/Domänenname: Fügen Sie das Zertifikat zum Docker-Stammzertifikat hinzu mkdir -p /etc/docker/certs.d/reg.netlab.com cp ~/certs/reg.netlab.com.crt /etc/docker/certs.d/reg.netlab.com/ Starten Sie Docker neu systemctl Neustart Docker Ersetzen abgelaufener Zertifikate in Docker-Registrierungscontainern Anzeigen der Registrierungscontainer-ID k8s@master:~$ docker ps |grep-Registrierung 3eb5eda4b75e registry.docker-cn.com/library/registry:2 "/entrypoint.sh /etc…" vor 13 Monaten Aktiv 44 Minuten 0.0.0.0:443->5000/tcp-Registrierung b84ea71a572f f32a97de94e1 "/entrypoint.sh /etc…" vor 13 Monaten Aktiv Ungefähr eine Stunde 0.0.0.0:5000->5000/tcp registry_mirror Den Mount-Pfad der Rigstry nach ID anzeigen k8s@master:~$ docker inspect 3eb5eda4b75e ... "Bindet": [ "/root/certs:/certs", "/home/registry:/var/lib/registry" ] ... cp das neu generierte Zertifikat in das Verzeichnis /root/certs:/certs root@master:~/certs#ll Gesamtdosis 16 drwxr-xr-x 2 root root 4096 1. April 2019 ./ drwx------ 8 root root 4096 2. Mai 14:06 ../ -rw-r--r-- 1 root root 2126 1. April 2019 reg.netlab.com.crt -rw------ 1 root root 3272 1. April 2019 reg.netlab.com.key Starten Sie den Registrierungscontainer neu k8s@master:~$ systemctl Neustart Docker An diesem Punkt wurde das selbstsignierte Zertifikat aktualisiert! prüfenk8s@master:~/shiyu$ docker pull reg.netlab.com/tensorflow-cpu Standard-Tag verwenden: latest neueste: Ziehen von Tensorflow-CPU Zusammenfassung: sha256:68da50778a5f80e0676c4ca617299444fc71677a2d83cacccaf7a08d08cc1df6 Status: Das Bild ist aktuell für reg.netlab.com/tensorflow-cpu:latest 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:
|
<<: Einführung in die Verwendung des MySQL mysqladmin-Clients
>>: Reines CSS zum Erreichen einer einzelnen Div-Transformation eines regulären Polygons
Vorwort Ich weiß nicht, wie lange dieser Freund D...
In diesem Artikel wird der spezifische Code von j...
Vorwort Alle Hardwaregeräte im Linux-System werde...
In „MySQL-Deadlock-Probleme anhand des Quellcodes...
Vorwort Beim Schreiben von Code stoßen wir gelege...
Hier stellen wir nur die relativ einfache Install...
——Anmerkungen aus „MySQL in einfachen Worten (zwe...
1. IE-Browsermodus Hack-Logo 1. CSS-Hack-Logo Code...
Frage Nach dem Nginx-Reverse-Proxy erhält die Tom...
Inhaltsverzeichnis Erster Blick-Index Das Konzept...
Typische Layoutbeispiele Wie im obigen Bild gezei...
Inhaltsverzeichnis 1. Einführung in die Linux-Sys...
html <!DOCTYPE html> <html lang="de...
Alle vorherigen Projekte wurden in der Windows-Sy...
Wenn sich die Daten ändern, wird die DOM-Ansicht ...