So erstellen Sie mit Harbor ein privates Docker-Repository

So erstellen Sie mit Harbor ein privates Docker-Repository

1. Open-Source-Lagerverwaltungstool Harbor

Harbor ist ein von CNCF gehostetes Open-Source-Tool zur Verwaltung Docker Image-Repositorys. Wir können es verwenden, um schnell unser eigenes privates Repository zu erstellen. Natürlich gibt es viele Optionen zum Erstellen eines privaten Lagers, z. B. das offiziell von Docker bereitgestellte registry oder Nexus . Aber Harbor ist immer noch eine gute Wahl.

2 Installation

Es gibt viele Möglichkeiten, Harbor zu installieren, z. B. die Installation über die Befehlszeile, Helm Installation usw. Dieser Artikel demonstriert die Skriptinstallation über die Befehlszeile.

2.1 Docker und Docker-Compose installieren

Zuerst muss Docker installiert werden. Harbor wird über eine Reihe von Containern gestartet. Darüber hinaus müssen Sie docker-compose installieren, und es gibt bestimmte Anforderungen an die Version. Hier können Sie das Softwarepaket in der Rancher -Ressourcenbibliothek finden und konfigurieren:

Installieren Sie Docker-compose :

wget http://rancher-mirror.cnrancher.com/docker-compose/v1.27.4/docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod a+x /usr/local/bin/docker-compose

2.2 Harbor installieren

2.2.1 Herunterladen und Dekomprimieren

Gehen Sie zunächst zu GitHub Release, um das entsprechende Paket herunterzuladen. Es gibt zwei Typen: offline und online . offline ist größer und enthält die entsprechenden Abhängigkeiten; online enthält nicht die entsprechenden abhängigen Komponenten und muss während der Installation heruntergeladen werden. Hier wird das online Paket verwendet, da das Herunterladen von Dingen von Github möglicherweise nicht sehr schnell ist.

herunterladen:

wget https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-online-installer-v2.1.1.tgz

Entpacken:

tar zxvf harbor-online-installer-v2.1.1.tgz

2.2.2 Konfiguration und Installation

Bereiten Sie die Konfigurationsdatei vor:

cp harbor.yml.tmpl harbor.yml

Ändern Sie die Konfiguration: vi harbor.yml , entfernen Sie hauptsächlich https und konfigurieren Sie die Serveradresse und das Passwort. Die wichtigsten Konfigurationen sind:

Hostname: 8.134.18.166
http:
  Port: 8088
# https-bezogene Konfiguration
#https:
  # https-Port für Hafen, Standard ist 443
  # Port: 443
  # Der Pfad der Zertifikats- und Schlüsseldateien für nginx
  #Zertifikat: /Ihr/Zertifikat/Pfad
  #private_key: /Ihr/privater/Schlüssel/Pfad
Harbor_Admin_Passwort: Harbor12345

Nachdem Sie die Konfiguration geändert haben, starten Sie die Installation:

./install.sh

Wenn die Installation erfolgreich war, wird eine Eingabeaufforderung angezeigt.

3. Einfach zu bedienen

3.1 Erstellen Sie einen Benutzer mit Administratorrechten

Besuchen Sie: http://8.134.18.166:8088/ , um sich anzumelden. Der Benutzername ist admin und das Standardkennwort ist Harbor12345 .

Der Verwaltungsbenutzer admin hat zu hohe Berechtigungen. So erstellen Sie einen normalen Benutzer:

Benutzerinformationen erstellen:

3.2 Neuer Benutzer erstellt ein Projekt

Beenden Sie admin , melden Sie sich mit dem neu erstellten Benutzer an und erstellen Sie dann ein Projekt zum Speichern des Bildes:

Projekt erfolgreich erstellt:

3.3 Docker-Verbindungslager

3.3.1 Docker-Konfiguration ändern und neu starten

Konfigurieren Sie daemon.json auf einer Maschine mit docker und fügen Sie "insecure-registries": ["http://8.134.18.166:8088"],

vi /etc/docker/daemon.json

Der Inhalt nach der Konfiguration ist wie folgt:

{
  "unsichere Registrierungen": ["http://8.134.18.166:8088"],
  "Registrierungsspiegel": ["https://xxx.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "JSON-Datei",
  "log-opts": {
    "maximale Größe": "100 m"
  },
  "Speichertreiber": "Overlay2"
}

Docker neu starten:

systemctl Neustart Docker

3.3.2 Anmelden und Bild übertragen

Melden Sie sich beim neu erstellten Lager an:

$ Docker-Login http://8.134.18.166:8088 --Benutzername pkslow --Passwort Pk123456
WARNUNG! Die Verwendung von --password über die CLI ist unsicher. Verwenden Sie --password-stdin.
WARNUNG! Ihr Passwort wird unverschlüsselt in /root/.docker/config.json gespeichert.
Konfigurieren Sie einen Credential Helper, um diese Warnung zu entfernen. Siehe
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Anmeldung erfolgreich

tag eines der Bilder:

Docker-Tag nginx 8.134.18.166:8088/pkslow/nginx:latest

Laden Sie das Bild in das Repository hoch:

$ docker push 8.134.18.166:8088/pkslow/nginx:latest
Der Push bezieht sich auf das Repository [8.134.18.166:8088/pkslow/nginx]
cdd1d8ebeb06: Geschoben 
fe08d9d9f185: Geschoben 
280ddd108a0a: Geschoben 
f14cffae5c1a: Geschoben 
d0fe97fa8b8c: Geschoben 
zuletzt: Digest: sha256:4949aa7259aa6f827450207db5ad94cabaa9248277c6d736d5e1975d200c7e43 Größe: 1362

Gehen Sie zur Überprüfung auf die Webseite, es gibt bereits einen entsprechenden Mirror:

Ziehen wird nicht vorgeführt.

Dies ist das Ende dieses Artikels über die Verwendung von Harbor zum Erstellen eines privaten Docker-Repositorys. Weitere Informationen zur Verwendung von Harbor zum Erstellen eines privaten Docker-Repositorys finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Harbor visualisiert eine private Image-Warehouse-Umgebung und ein Beispiel für die Bereitstellung von Diensten
  • Methode zum Erstellen eines privaten Docker-Warehouses basierend auf Harbor
  • Detaillierte Erklärung zum Erstellen eines privaten Docker-Image-Repositorys basierend auf Harbor
  • Einführung in die Hochverfügbarkeitskonfiguration und Lagernutzung von Harbor

<<:  MySQL-Integritätsbeschränkungen – Definition und Beispiel-Tutorial

>>:  Detaillierte Untersuchung der Verwendung der Positionierung in CSS (Zusammenfassung)

Artikel empfehlen

Von Vue berechnete Eigenschaften

Inhaltsverzeichnis 1. Grundlegende Beispiele 2. B...

Erstellen einer einfachen Game-Engine mit React Native

Inhaltsverzeichnis Einführung Erste Schritte Eine...

Zwei Arten von Tab-Anwendungen im Webdesign

Heutzutage werden Registerkarten häufig im Webdes...

Detaillierte Einführung in den DOCTYPE-Typ

<br />Wir deklarieren DOCTYPE in HTML normal...

Analyse der Lösung für das Problem der gemeinsamen Nutzung von Nginx-Sitzungen

Dieser Artikel stellt hauptsächlich die Lösung fü...

MySQL-Lösung für die Konfiguration mehrerer Instanzen

1.1 Was ist MySQL Multi-Instance? Einfach ausgedr...

Die Qualitäten und Fähigkeiten, die ein Webdesigner haben sollte

Webdesign ist eine aufstrebende Randbranche, die n...

MySQL-Abfrageoptimierung: Eine Tabellenoptimierungslösung für 1 Million Daten

1. Abfragegeschwindigkeit von zwei Abfrage-Engine...

Besser aussehende benutzerdefinierte CSS-Stile (Titel h1 h2 h3)

Rendern Häufig verwendete Stile im Blog Garden /*...

Zwei gängige Lösungen für den HTML-Textüberlauf zeigen Auslassungszeichen an

Methode 1: Verwenden Sie zur Lösung die CSS-Überl...

Docker-Pull-Image und Tag-Vorgang Pull | Tag

Ich habe den Quellcode des Fabric-Projekts noch e...

JavaScript-Code zum Erzielen eines einfachen Kalendereffekts

In diesem Artikel wird der spezifische Code für J...

Blog-Design Webdesign-Debüt

Die erste Webseite, die ich entworfen habe, sieht...