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

Installieren Sie Apache2.4+PHP7.0+MySQL5.7.16 auf macOS Sierra

Obwohl Mac-Systeme mit PHP und Apache ausgeliefer...

Docker-Installation Tomcat Dubbo-Admin-Instanz-Kenntnisse

1. Laden Sie das Tomcat-Image herunter Docker zie...

2017 neueste Version der Windows-Installation MySQL-Tutorial

1. Laden Sie zunächst die neueste Version von MyS...

mysql teilt eine Datenzeile basierend auf Kommas in mehrere Zeilen auf

Inhaltsverzeichnis Trennwirkung Erläuterung der B...

Ich zeige Ihnen, wie Sie Schriftsymbole in CSS verwenden

Zunächst einmal: Was ist ein Schriftsymbol? Oberf...

Html+CSS-Zeichnungsdreiecksymbol

Schauen wir uns zunächst die Renderings an: XML/H...

Erklärung zur Verwendung von „Ersetzen“ und „Ersetzen in“ in MySQL

„Replace“ und „Replace into“ von MySQL sind beide...

Eine kurze Diskussion zum Verständnis von TypeScript-Indexsignaturen

Inhaltsverzeichnis 1. Was ist eine Indexsignatur?...

Detaillierte Erläuterung der Vue-Formularbindung und -Komponenten

Inhaltsverzeichnis 1. Was ist bidirektionale Date...

Detailliertes Installationstutorial für MySQL 5.7 unter CentOS 6 und 7

Für die Entwicklung benötigen Sie immer Daten. Al...