Erstellen Sie ein privates Docker-Warehouse (selbstsignierte Methode)

Erstellen Sie ein privates Docker-Warehouse (selbstsignierte Methode)

Um die von uns erstellten Images zentral zu verwalten und die Bereitstellung von Diensten zu erleichtern, erstellen wir ein privates Docker-Repository. Nachdem ich die offizielle Dokumentation gelesen hatte, stellte ich fest, dass Docker eine CA-Zertifizierung benötigt, um die sichere Verwendung von TLS zu gewährleisten. Die lange Zertifizierungszeit kostet Geld und die kostenlose Ablaufzeit ist zu kurz. Es ist immer noch einfacher, selbst signiert zu verwenden.

Vorbereiten der Umgebung

Umgebung: Zwei virtuelle Centos 7-Maschinen

Server-IP: 10.57.220.244, wird als Docker-Repository verwendet

》Client-IP: 10.57.220.220, wird als Client zum Hochladen oder Abrufen von Bildern verwendet

》Domänenname: lpxxn.com

Auf beiden Maschinen wurde Docker Version 17.03.0-ce installiert

Wenn Sie wie ich keinen echten Domänennamen verwenden, müssen Sie nur die Hosts-Datei auf dem Client-Computer ändern.

Generieren eines selbstsignierten Zertifikats

Generieren Sie ein selbstsigniertes Zertifikat auf dem Serverhost und erstellen Sie einen Ordner zum Speichern des Zertifikats

mkdir -p Zertifikate 

Zertifikat generieren

openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/lpxxn.com.key -x509 -days 365 -out certs/lpxxn.com.crt

Bitte beachten Sie, dass der eingegebene allgemeine Name mit Ihrem Domänennamen identisch sein muss.

ll certs Ordner, können Sie die beiden generierten Dateien sehen

Führen Sie das Repository-Image aus. Wenn lokal kein entsprechendes Image vorhanden ist, wird es vom Docker-Server heruntergeladen und anschließend gestartet. Mit dem Befehl docker ps können Sie prüfen, ob bereits ein Fenster ausgeführt wird.

Kopieren Sie den Code wie folgt:
docker run -d -p 5000:5000 --restart=immer --name registry_https -v `pwd`/certs:/home/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/home/certs/lpxxn.com.crt -e REGISTRY_HTTP_TLS_KEY=/home/certs/lpxxn.com.key registry:2

Sie können auch ein lokales Verzeichnis angeben, um das hochgeladene Docker-Image zu speichern

Kopieren Sie den Code wie folgt:
docker run -d -p 5000:5000 -v `pwd`/dockerregister:/var/lib/registry --restart=always --name registry_https -v `pwd`/certs:/home/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/home/certs/lpxxn.com.crt -e REGISTRY_HTTP_TLS_KEY=/home/certs/lpxxn.com.key registry:2

An diesem Punkt wird der Server gestartet. Der letzte Schritt besteht darin, die generierte lpxxn.com.crt auf den Client zu kopieren. Sie können sie auf Ihre eigene Weise kopieren. Ich verwende scp, um sie zuerst in das Verzeichnis /home/test und dann in das Verzeichnis /etc/pki/ca-trust/source/anchors zu kopieren.

scp -r lpxxn.com.crt [email protected]:/home/test

Konfigurieren des Clients

Kopieren Sie die auf dem Server generierte Datei lpxxn.com.crt in das Verzeichnis /etc/pki/ca-trust/source/anchors auf dem Client-Server und checken Sie sie aus.

Erneuern Sie die Zertifikate und starten Sie Docker neu.

Update-CA-Trust
Dienst Docker stoppen und Dienst Docker starten 

ok. Verwenden Sie curl, um das Lager zu überprüfen

locken https://lpxxn.com:5000/v2/_catalog 

Kann normal zugreifen. Versuchen Sie das Hoch- und Herunterladen mit dem Docker-Befehl

Verwenden Sie das Docker-Tag, um das lokale Image centos:6 als lpxxn.com:5000/centos6:1.0 zu markieren.

Zum Lager schieben

Ausführen des Push-Befehls

docker push lpxxn.com:5000/centos6:1.0 

Lagerinformationen anzeigen

Verwenden Sie curl, um die Bilder und Versionen im Repository anzuzeigen

locken https://lpxxn.com:5000/v2/_catalog
curl https://lpxxn.com:5000/v2/centos6/tags/list 

Ziehen Sie das Image aus dem Repository

Löschen Sie zuerst das lokale Image

docker rmi lpxxn.com:5000/centos6:1.0
Docker RMI Centos:6

Ziehen und rennen

docker pull lpxxn.com:5000/centos6:1.0 

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Aufbaus und der Verwendung des Docker Private Warehouse
  • Schritte zum Erstellen eines privaten Docker-Repository von Grund auf
  • Docker erstellt ein privates Lager (Registrierung, Hafen)
  • Detaillierte Erläuterung der Ubuntu Docker Registry zum Erstellen eines privaten Lagers
  • Detaillierte Erläuterung des Aufbaus und der Überprüfung des Docker Private Warehouse Registry
  • Detaillierte Erklärung zum einfachsten Aufbau eines privaten Docker-Warehouses
  • Detaillierte Schritte für Docker zum Erstellen eines lokalen privaten Lagers
  • Detaillierte Schritte zum Erstellen eines privaten Docker Registry-Warehouses

<<:  Diagramm der Konfigurationsmethode für die installationsfreie Version von MySQL5.6 für Windows Server 2008 64-Bit

>>:  JavaScript implementiert die Anzeige einer Dropdown-Box, wenn die Maus darüber bewegt wird

Artikel empfehlen

Vue + Openlayer realisiert den Drag- und Rotationsverformungseffekt von Grafiken

Inhaltsverzeichnis Vorwort Ressourcen zum Thema E...

Detaillierte Einführung in das CSS-Prioritätswissen

Bevor wir über die CSS-Priorität sprechen, müssen...

Dinge, die Sie nicht über die CSS-Pseudoelemente ::before und ::after wissen

CSS hat zwei Pseudoklassen, die nicht häufig verw...

Detailliertes Tutorial zur Installation von Centos8 auf VMware

Offizielle Website-Adresse von CentOS https://www...

Markup-Validierung für Doctype

Aber vor kurzem habe ich festgestellt, dass die Ve...

Praxis der Linux-Datei- und Benutzerverwaltung

1. Zeigen Sie die Dateien oder Verzeichnisse im V...

Was bedeuten CN2, GIA, CIA, BGP und IPLC?

Was ist die CN2-Linie? CN2 steht für China Teleco...

Eine andere Art von „Abbrechen“-Button

Der „Abbrechen“-Button ist nicht Teil des notwend...