Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Nachfolgend soll die Installation und Konfiguration von Harbor beschrieben werden.
<blockquote>
Harbor Registry ist eine der bekanntesten und am weitesten verbreiteten Open Source-Lösungen für das Speichern und Verwalten von Docker Images. Dabei geht der Funktionsumfang von Harbor deutlich über den Umfang herkömmlicher Registries, wie zum Beispiel Docker Hub hinaus. (Quelle: bnerd.com)
</blockquote>
1 - Vorbereitung
Der Harbor bringt selbst keine Zertifikate mit. Diese müssen manuell erstellt oder von Drittanbietern besorgt werden. Eine Methode zum Erstellen eines eigenen Zertifikats ist hier beschrieben.
2 - Installation
Harbor kann von der Seite „goharbor.io“ (dort dann oben auf „Getting Started“ klicken und auf dieser Seite dann unter Punkt 2 auf „Download the Harbor Installer“). Die verschiedenen Versionen sind auch auf der Release-Seite „https://github.com/goharbor/harbor/releases“ zu finden. Nachfolgend wird der Offline-Installer genutzt. Zum Zeitpunkt der Dokumentation war Version 2.14.1 aktuell.
2.1 - Docker
Docker kann aus den Repositories installiert werden, sofern die Docker-Repositories eingebunden wurden:
~# ===== 2.2 - Herunterladen der Harbor-Installationsdatei ===== <code> ~# wget https://github.com/goharbor/harbor/releases/download/v2.14.1/harbor-offline-installer-v2.14.1.tgz --2025-12-18 22:14:12-- https://github.com/goharbor/harbor/releases/download/v2.14.1/harbor-offline-installer-v2.14.1.tgz\ Auflösen des Hostnamens github.com (github.com)… 140.82.121.3\ Verbindungsaufbau zu github.com (github.com)|140.82.121.3|:443 … verbunden.\ HTTP-Anforderung gesendet, auf Antwort wird gewartet … 302 Found ... Verbindungsaufbau zu release-assets.githubusercontent.com (release-assets.githubusercontent.com)|185.199.111.133|:443 … verbunden.\ HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK\ Länge: 680961237 (649M) [application/octet-stream]\ Wird in »harbor-offline-installer-v2.14.1.tgz« gespeichert. harbor-offline-installer-v2.14.1.tgz 100%[=========================================================================>] 649,42M 18,9MB/s in 35s 2025-12-18 22:14:47 (18,6 MB/s) - »harbor-offline-installer-v2.14.1.tgz« gespeichert [680961237/680961237] ~#
2.2 - Archiv entpacken
~# tar xzvf harbor-offline-installer-v2.14.1.tgz harbor/harbor.v2.14.1.tar.gz\ harbor/prepare\ harbor/LICENSE\ harbor/install.sh\ harbor/common.sh\ harbor/harbor.yml.tmpl ~#
3 - Zertifikat bereitstellen
Das Zertifikat von Drittanbietern oder das selbst erstellte Zertifikat müssen dem Harbor und Docker bereitgestellt werden.
3.1 - Harbor
Für Harbor wird unter „/data“ ein entsprechendes Verzeichnis „cert/“ erstellt, wohin alle benötigten Dateien kopiert werden.
Schritt 1: Erstellen der Verzeichnisstruktur:
~# mkdir -pv /data/cert mkdir: Verzeichnis '/data/cert' angelegt ~#
Schritt 2: Kopieren der Zertifikatsdateien:
~# cp -v slxharbor.fritz.box.crt /data/cert/ && cp -v slxharbor.fritz.box.key /data/cert/ 'slxharbor.fritz.box.crt' -> '/data/cert/slxharbor.fritz.box.crt'\\ 'slxharbor.fritz.box.key' -> '/data/cert/slxharbor.fritz.box.key'\\ ~#
3.2 - Docker
Docker interpretiert „*.crt“-Dateien als CA-Dateien und „*.cert“-Dateien als Server-Zertifikate. Das Server-Zertifikat muss daher einmal umgewandelt werden.
Schritt 1: Konvertieren der Datei:
~# openssl x509 -inform PEM -in slxharbor.fritz.box.crt -out slxharbor.fritz.box.cert
Schritt 2: Erstellen der Verzeichnisstruktur:
~# mkdir -pv /etc/docker/certs.d/slxharbor.fritz.box mkdir: Verzeichnis '/etc/docker' angelegt\\ mkdir: Verzeichnis '/etc/docker/certs.d' angelegt\\ mkdir: Verzeichnis '/etc/docker/certs.d/slxharbor.fritz.box' angelegt\\ ~#
Schritt 3: Kopieren der Zertifikate:
~# cp -v slxharbor.fritz.box.cert /etc/docker/certs.d/slxharbor.fritz.box/ && cp -v slxharbor.fritz.box.key /etc/docker/certs.d/slxharbor.fritz.box/ && cp -v ca.crt /etc/docker/certs.d/slxharbor.fritz.box/\\ 'slxharbor.fritz.box.cert' -> '/etc/docker/certs.d/slxharbor.fritz.box/slxharbor.fritz.box.cert'\\ 'slxharbor.fritz.box.key' -> '/etc/docker/certs.d/slxharbor.fritz.box/slxharbor.fritz.box.key'\\ 'ca.crt' -> '/etc/docker/certs.d/slxharbor.fritz.box/ca.crt' ~#
.Ende des Dokuments