Wie man

Installieren Sie die Harbor Container Image Registry unter CentOS / Debian / Ubuntu

Installieren Sie die Harbor Container Image Registry unter CentOS / Debian / Ubuntu

Wie installiere ich die Harbor-Container-Registrierung unter CentOS / Debian / Ubuntu Linux??. Harbor ist eine native Open-Source-Cloud-Registry, die Container-Images auf Schwachstellen speichert, signiert und scannt. Wenn Sie nach einer Docker-Image-Registrierung für Unternehmen suchen, dann ist Harbour das richtige Tool für Sie. Es hat einige der besten Funktionen, die nur in kommerziellen Registry-Produkten wie Quay verfügbar sind.

Harbor schließt eine Lücke für Anwendungen und Organisationen, die keine öffentliche oder Cloud-basierte Registrierung verwenden können. Sie genießen ein konsistentes Erlebnis auf allen Cloud-Plattformen. Diese Anleitung führt Sie durch die Installation von Harbour auf jedem System mit Docker-Unterstützung.

Funktionen von Harbor Registry

Was du brauchen wirst

Sie benötigen ein Betriebssystem mit Docker-Unterstützung und folgenden Systemvoraussetzungen:

Hardware

RessourceKapazitätBeschreibung
Zentralprozessorminimal 2 CPU4 CPU wird bevorzugt
Memominimal 4 GB 48 GB werden bevorzugt
Scheibemindestens 40 GB 40160 GB werden bevorzugt

Software

SoftwareAusführung
Docker-EngineVersion 17.06.0-ce+ oder höher
Docker ComposeVersion 1.18.0 oder höher
Opensslneueste wird bevorzugt

Netzwerkports

HafenProtokoll
443HTTPS
4443HTTPS
80HTTP

Beginnen wir nun mit der Installation von Harbour auf einem Linux-System - CentOS, Ubuntu & Debian Linux Distribution.

Vorbereitung der Lagerung (optional)

Ich werde eine sekundäre Festplatte als Datenspeicher für alle Container-Images verwenden - /dev/sdb

$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 Teil /boot └─sda2 8:2 0 74G 0 Teil ├─rhel-root 253:0 0 10G 0 lvm / ├─rhel-swap 253:1 0 16G 0 lvm [SWAP] ├─rhel-home 253:2 0 4G 0 lvm /home ├─rhel-var 253:3 0 20G 0 lvm /var ├─rhel -var_log 253:4 0 10G 0 lvm /var/log ├─rhel-var_log_audit 253:5 0 2G 0 lvm /var/log/audit rhel-tmp 253:6 0 8G 0 lvm /tmp └─rhel-var_tmp 253:7 0 4G 0 lvm /var/tmp sdb 8:16 0 200G 0 disk sr0 11:0 1 1024M 0 rom 

Lassen Sie uns diese Diskette vorbereiten und mounten.

sudo parted -s -a optimal -- /dev/sdb mklabel gpt sudo parted -s -a optimal -- /dev/sdb mkpart primär 0% 100% sudo parted -s -- /dev/sdb align-check optimal 1 sudo pvcreate /dev/sdb1 sudo vgcreate vg0 /dev/sdb1 sudo lvcreate -n Hafen -l +100% KOSTENLOS vg0 sudo mkfs.xfs /dev/vg0/harbor sudo mkdir /data echo "/dev/vg0/harbor /data xfs defaults 0 0" | sudo tee -a /etc/fstab

Montieren und bestätigen:

$ sudo mount -a $ df -hT /data/ Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/vg0-harbor xfs 200G 1.5G 199G 1% /Daten 

Schritt 1: Docker Engine installieren

Folgen Sie unseren Anleitungen unten zur Installation der Docker Engine.

Installieren Sie Docker und Docker Compose auf Debian 10 Buster

So installieren Sie Docker CE unter Ubuntu / Debian / CentOS 

So installieren Sie Docker auf Fedora

Docker CE auf CentOS 8 installieren | RHEL 8

Schritt 2: Docker Compose installieren

Unsere nächste Installation ist für den Befehl docker-compose. Dies ist in System-Repositorys nicht verfügbar. Befolgen Sie die Anweisungen in unserem vorherigen Leitfaden unten.

So installieren Sie das neueste Docker Compose unter Linux

Schritt 3: Downloaden und installieren Sie Harbor

Hafen herunterladen

curl -s https://api.github.com/repos/goharbor/harbor/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep '\.tgz$' | wget -i - 

Sie können auch die neueste Harbour-Version von der Download-Seite abrufen.

Entpacken Sie die heruntergeladene Harbour-Datei.

tar xvzf Hafen-Offline-Installer*.tgz

Wechseln Sie in den Hafen, der nach dem Entpacken der Datei erstellt wurde.

CD-Hafen

Hafeninstallation ohne SSL

Beim ersten Setup betrachten wir die Installation ohne TLS/SSL. Konfigurationsvorlage kopieren:

cp hafen.yml.tmpl hafen.yml

Bearbeiten Sie die Hafenkonfigurationsdatei und stellen Sie sie wie unten ein.

$ Nanohafen.yml… # Die IP-Adresse oder der Hostname für den Zugriff auf die Admin-Benutzeroberfläche und den Registrierungsdienst. Hostname: Registrierung.Computerforgeeks.com Harbor_admin_password: [email protected]$d # Harbor DB-Konfigurationsdatenbank: Passwort: [email protected]$d 

Harbour-Installation mit Let's Encrypt SSL

Wenn Ihr Server eine öffentliche IP hat, können Sie das kostenlose SSL-Zertifikat von Let's Encrypt verwendencrypt.

Beginnen Sie mit der Installation certbot-auto Werkzeug.

wget https://dl.eff.org/certbot-auto chmod +x certbot-auto sudo mv certbot-auto /usr/local/bin 

Dann erhalten Sie ein SSL-Zertifikat SSL.

export DOMAIN="registry.Computerforgeeks.com" export EMAIL="[email protected]" certbot-auto certonly --standalone -d $DOMAIN --preferred-challenges http --agree-tos -n -m $EMAIL --keep-until-expiring 

Konfigurieren Sie die https-bezogene Konfiguration.

Hostname: Registrierung.Computerforgeeks.com Harbor_admin_password: [email protected]$d # Harbor DB-Konfigurationsdatenbank: Passwort: [email protected]$d http: Port: 80 https: Port: 443 Zertifikat: /etc/letsencrypt/live/registry.Computerforgeeks.com/fullchain.pem privater_key: /etc/letsencrypt/live/registry.Computerforgeeks.com/privkey.pem

Harbour-Installation mit selbstsignierten SSL-Zertifikaten

Erstellen Sie für selbstsignierte Zertifikate eine Zertifikatskonfigurationsdatei - Passen Sie die Datei an Ihre Werte an.

$ cd /etc/pki/tls/certs $ sudo vim Harbor_certs.cnf [ req ] default_bits = 4096 default_md = sha512 default_keyfile = Harbor_registry.key prompt = no encrypt_key = no Distinguished_name = req_distinguished_name # Distinguished_name [ req_distinguished_name ] countryName = "KE" localityName = "Nairobi" stateOrProvinceName = "Nairobi" OrganizationName = "Computingforgeeks" commonName = "registry.Computerforgeeks.com" emailAddress = "[email protected]"

Schlüssel und csr generieren:

sudo openssl req -out Harbor_registry.csr -newkey rsa:4096 --sha512 -nodes -keyout Harbor_registry.Schlüssel -config Harbor_certs.cf

Erstellen Sie ein selbstsigniertes Zertifikat mit einem Ablaufdatum von 10 Jahren:

sudo openssl x509 -in Harbor_registry.csr -out Harbor_registry.crt -req -signkey Harbor_registry.Schlüsseltage 3650

Um Zertifikatsdetails anzuzeigen, verwenden Sie den Befehl:

$ openssl x509 -text -noout -in Harbor_registry.crt

Konfigurieren Sie die https-bezogene Konfiguration.

Hostname: Registrierung.Computerforgeeks.com Harbor_admin_password: [email protected]$d # Harbor DB-Konfigurationsdatenbank: Passwort: [email protected]$d http: Port: 80 https: Port: 443 Zertifikat: ./harbor_registry.crt privater_schlüssel: ./harbor_registry.Schlüssel

Installieren Sie die Image-Registry von Harbor Docker

Einmal Hafen.yml und Speicher-Backend (optional) konfiguriert sind, installieren und starten Sie Harbor mit dem using Installieren.Sch Skript. 

$ sudo ./Installieren.Sch

Beachten Sie, dass die Standardinstallation nicht enthält Notar oder Clair Bedienung. Diese Dienste werden für Schwachstellen-Scans verwendet.

Um die Installationsoptionen anzuzeigen, führen Sie Folgendes aus:

$ ./Installieren.sh --help Hinweis: Bitte setzen Sie den Hostnamen und andere notwendige Attribute im Hafen.yml zuerst. Verwenden Sie NICHT localhost oder 127.0.0.1 für Hostname, weil auf Harbour von externen Clients zugegriffen werden muss. Bitte setzen Sie --with-notary, wenn Sie Notary in Harbor aktivieren müssen, und setzen Sie ui_url_protocol/ssl_cert/ssl_cert_key in Harbor.yml weil Notar muss unter https laufen. Bitte setzen Sie --with-chartmuseum, wenn nötig, aktivieren Sie das Chartmuseum im Hafen

Beispiel, Notar und Chartmuseum aktivieren:

$ sudo ./Installieren.sh --with-notar --with-chartmuseum

Um den Notardienst einzuschließen, müssen Sie https im Hafen aktivieren und konfigurieren.yml.

[Schritt 0]: Installationsumgebung prüfen… Hinweis: Docker-Version: 19.03.1 Hinweis: Docker-Compose-Version: 1.24.1 [Schritt 1]: Harbour-Images laden… Geladenes Image: goharbor/harbor-core:v1.8.1 Geladenes Bild: goharbor/harbor-registryctl:v1.8.1 Geladenes Bild: goharbor/redis-photon:v1.8.1 Geladenes Bild: goharbor/notary-server-photon:v0.6.1-v1.8.1 Geladenes Bild: goharbor/chartmuseum-photon:v0.8.1-v1.8.1 Geladenes Bild: goharbor/harbor-db:v1.8.1 Geladenes Bild: goharbor/harbor-jobservice:v1.8.1 Geladenes Bild: goharbor/nginx-photon:v1.8.1 Geladenes Bild: goharbor/registry-photon:v2.7.1-Patch-2819-v1.8.1 Geladenes Bild: goharbor/harbor-migrator:v1.8.1 Geladenes Bild: goharbor/prepare:v1.8.1 Geladenes Bild: goharbor/harbor-portal:v1.8.1 Geladenes Bild: goharbor/harbor-log:v1.8.1 Geladenes Bild: goharbor/notary-signer-photon:v0.6.1-v1.8.1 Geladenes Bild: goharbor/clair-photon:v2.0.8-v1.8.1 [Schritt 2]: Umgebung vorbereiten… Basisverzeichnis vorbereiten ist auf /root/harbor gesetzt Generierte Konfigurationsdatei: /config/log/logrotate.conf Generierte Konfigurationsdatei: /config/nginx/nginx.conf Generierte Konfigurationsdatei: /config/core/env Generierte Konfigurationsdatei: /config/core/app.conf Generierte Konfigurationsdatei: /config/registry/config.yml Generierte Konfigurationsdatei: /config/registryctl/env Generierte Konfigurationsdatei: /config/db/env Generierte Konfigurationsdatei: /config/jobservice/env Generierte Konfigurationsdatei: /config/jobservice/config.yml Generiertes und gespeichertes Geheimnis in Datei: /secret/keys/secretkey Generiertes Zertifikat, Schlüsseldatei: /secret/core/private_key.pem, cert-Datei: /secret/registry/root.crt Generierte Konfigurationsdatei: /config/clair/postgres_env Generierte Konfigurationsdatei: /config/clair/config.yaml Generierte Konfigurationsdatei: /config/clair/clair_env Konfigurationsordner erstellen: /config/chartserver Generierte Konfigurationsdatei: /config/chartserver/env Generierte Konfigurationsdatei: /compose_location/docker-compose.yml Bereinigen Sie das Eingabeverzeichnis [Schritt 3]: Harbor wird gestartet… ✔ ----Harbor wurde installiert und erfolgreich gestartet.---- Jetzt sollten Sie in der Lage sein, das Admin-Portal unter http://registry . zu besuchen.Computerforgeeks.com. Weitere Informationen finden Sie unter https://github.com/goharbor/hafen .

Bestätigen Sie, dass alle Container gestartet sind.

… [Schritt 5]: Harbour starten… Netzwerk "harbor_harbor" mit dem Standardtreiber erstellen Netzwerk "harbor_harbor-clair" mit dem Standardtreiber erstellen Netzwerk "harbor_harbor-notary" mit dem Standardtreiber erstellen Netzwerk "harbor_harbor-chartmuseum" mit dem Standardtreiber erstellen driver Erstellen des Netzwerks "harbor_notary-sig" mit dem Standardtreiber Harbor-Log erstellen… done Registry erstellen… done Registryctl erstellen… done Harbor-DB erstellen… done Redis erstellen… done Harbor-Portal erstellen… done Chartmuseum erstellen… done Notar-Unterzeichner erstellen … done Clair erstellen… done Harbor-Core erstellen… done Notar-Server erstellen… done Clair-Adapter erstellen… done Harbor-Jobservice erstellen… done nginx erstellen… done ✔ ----Harbor wurde erfolgreich installiert und gestartet.---- 

Harbour-Logdateien werden im Verzeichnis gespeichert /var/log/hafen/:

$ ls -1 /var/log/harbor/chartmuseum.log clair.Log-Kern.log jobservice.Log-Portal.log postgresql.Log-Proxy.Protokoll-Wiederherstellung.log Registryctl.Log-Registrierung.Log

Schritt 4: Zugang zum Hafen

Nachdem die Installation erfolgreich war, rufen Sie die Harbour-Webkonsole auf https://registry_domain.

Einloggen mit:

Nutzername: Administrator Passwort: Set-in-Hafen.yml

Sie sollten zum Harbor-Web-Dashboard gelangen.

Mit Let's Encrypt SSL:

Schritt 5: Den Lebenszyklus von Harbour verwalten

Liste laufender Harbor-Dienstcontainer:

$ sudo docker-compose ps Name Befehl Status Ports ---------------------------------------- -------------------------------------------------- -------------------------------------------------- ---- Kartenmuseum ./docker-entrypoint.sh Up (gesund) clair ./docker-entrypoint.sh Neustart von clair-adapter /home/clair-adapter/entryp… Up (fehlerfrei) Harbor-Core /harbor/entrypoint.sh Up (Gesundheit: Start) Harbor-db /docker-entrypoint.sh Up (gesund) Hafen-Jobservice /harbor/entrypoint.sh Up (Health: Starting) Harbor-log /bin/sh -c /usr/local/bin/… Up (Health) 127.0.0.1:1514->10514/tcp Harbor-Portal nginx -g daemon off; Up (gesund) nginx nginx -g daemon off; Nach oben (gesund) 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp notary-server /bin/sh -c migration-patch -… Up notary-signer /bin/sh -c migration-patch -… Up redis redis-server /etc/redis.conf Up (gesunde) Registry /home/harbor/entrypoint.sh Up (gesund) Registryctl /home/harbor/start.sh Up (gesund) 

Sie können docker-compose verwenden, um den Lebenszyklus von Harbor zu verwalten. Siehe Beispiele unten.

Hafen stoppen:

$ sudo docker-compose stop topping nginx… Hafen-Jobservice stoppen… fertig Hafen-Portal stoppen… fertig clair stoppen… fertig Chartmuseum stoppen… fertig Hafen-Kern stoppen… fertig Hafen-db stoppen… fertig Redis stoppen… fertig Registry stoppen… fertig Stoppen Registryctl… done Stoppen von Harbor-Log… done

Harbour nach dem Stoppen neu starten:

$ sudo docker-compose start Log starten… done Registry starten… done Registryctl starten… done Postgresql starten… done Core starten… done Portal starten… done Redis starten… done Jobservice starten… done Proxy starten… done Clair starten… done Chartmuseum starten… done

Aktualisieren der Harbour-Konfiguration:

Um die Konfiguration von Harbor zu ändern, zuerst, Beende bestehende Harbour-Instanz und Hafen aktualisieren.yml. Führen Sie dann das Vorbereitungsskript aus, um die Konfiguration zu füllen. Dann erstellen und starten Sie Harbors Instanz neu:

$ sudo docker-compose down -v $ nano Harbor.yml $ sudo vorbereiten $ sudo docker-compose up -d

Wenn Harbour mit Notar-, Clair- und Karten-Repository-Dienst installiert ist:

$ sudo docker-compose down -v $ nano Harbor.yml $ sudo ./prepare --with-notary --with-clair --with-chartmuseum $ sudo docker-compose up -d

Überprüfen Sie zur Fehlerbehebung die Protokolldatei des betreffenden Containerdienstes im Verzeichnis /var/log/hafen.

$ tail -n 100 /var/log/harbor/clair.Log

Besuchen Sie die Seite des Harbour-Benutzerhandbuchs, um mehr über die Verwendung zu erfahren.

Weitere Hafenführer:

So integrieren Sie Harbour Registry mit LDAP zur Benutzerauthentifizierung

So verhindern Sie, dass Benutzer Projekte in der Harbor-Registrierung erstellen

Ähnliche Artikel:

So richten Sie die Red Hat Quay Registry unter CentOS / RHEL / Ubuntu ein

Installieren und verwenden Sie die Docker-Registrierung auf Fedora

Installieren und konfigurieren Sie die Docker-Registrierung unter CentOS 7

Stichworte:

Erwartungen an einen Business Help Desk
Ein IT-Helpdesk kann für die meisten Unternehmen jeder Größe ein außergewöhnlich wertvolles Werkzeug sein. Ob kundenorientiert oder für die Verwendung...
Das Gesundheitswesen leidet unter weit verbreiteten Web-App-Angriffen
Es ist eine Sache, ein Webunternehmen mit Cyberangriffen anzugreifen. Es ist schlimmer, die Bildung zu stören, indem man beispielsweise Schulen oder H...
Nachteile der Investition in Bitcoin
Sie haben gehört, dass eine Investition in Bitcoin der richtige Weg ist. Aber Sie könnten zögern, weil Sie nicht viel über diese Kryptowährung wissen....