ÜberblickWas ist Hafen? Das englische Wort bedeutet: Hafen. Der Hafen wird zum Speichern von Containern (Fracht) verwendet, und der Ursprung von Docker basiert auf dem Prinzip der Container, sodass der Hafen zum Speichern von Docker-Images und als Image-Warehouse verwendet wird. Die offizielle Erklärung lautet: Harbor ist ein Registry-Server auf Unternehmensebene zum Speichern und Verteilen von Docker-Images. Das Harbor Image Warehouse ist ein von VMware als Open Source bereitgestelltes Image Warehouse auf Unternehmensebene. Es umfasst zahlreiche Funktionen wie Berechtigungsverwaltung (RBAC), LDAP, Protokollprüfung, Verwaltungsschnittstelle, Selbstregistrierung, Image-Replikation usw. 1. Hafenmerkmale 1. Rollenbasierte Zugriffskontrolle: Benutzer und Repositories werden nach „Projekten“ organisiert und Benutzer können unterschiedliche Berechtigungen für mehrere Image-Repositories im selben Namespace haben. 2. Hafenkomponenten 1. Proxy: Die Komponenten von Harbor, wie etwa die Registrierung, die Benutzeroberfläche und der Token-Dienst, befinden sich alle hinter einem Reverse-Proxy. Der Proxy leitet Anfragen von Browsern und Docker-Clients an verschiedene Backend-Dienste weiter. 3. Bereitstellungsumgebungcentos-7.6 192.168.8.130 Docker-Version 1.19.3 Docker-Compose Version 1.24.2 Harbor-Offline-Installer-v1.8.6.tgz 4. Installieren Sie Docker-ComposeMethode 1: [root@centos130 ~]# curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose [root@centos130 ~]# chmod +x /usr/local/bin/docker-compose Methode 2: [root@centos130 ~]# wget https://bootstrap.pypa.io/get-pip.py [root@centos130 ~]# python get-pip.py [root@centos130 ~]# pip install docker-compose 5. Deinstallieren Sie Docker-Compose#Binär: [root@centos130 ~]rm /usr/local/bin/docker-compose #Pip: [root@centos130 ~]pip deinstallieren Docker-Compose 6. Docker installieren[root@centos130 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 Fügen Sie eine stabile Quelle hinzu [root@centos130 ~]# yum-config-manager --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo [root@centos130 ~]# yum makecache fast Installieren Sie die neueste stabile Version von docker-ce [root@centos130 ~]# yum install -y docker-ce docker-ce-cli containerd.io vim [root@centos130 ~]# mkdir /etc/docker && vim /etc/docker/daemon.json { "Registrierungsspiegel": ["https://yxrgrke0.mirror.aliyuncs.com"], "unsichere Registrierungen": ["192.168.8.130:5000"], "unsichere Registrierungen": ["centos130:80"], "log-driver": "JSON-Datei", "log-opts": { "max-size": "100m", "max-Datei": "3" } } Starten Sie Docker [root@centos130 ~]# systemctl daemon-reload [root@centos130 ~]# systemctl aktiviere Docker && systemctl starte Docker [root@centos130 ~]# systemctl status docker 7. Installieren Sie den HafenHafen-Download-Adresse: Harbor-GitHub-Adresse https://github.com/goharbor/harbor http://harbor.orientsoft.cn/ [root@centos130 ~]# wget https://storage.googleapis.com/harbor-releases/release-1.8.6/harbor-offline-installer-v1.8.6.tgz [root@centos130 ~]# tar -xf harbor-offline-installer-v1.8.6.tgz -C /usr/local/ [root@centos130 ~]# cd /usr/local/harbour/ [root@centos130 ~]# vim harbor.yml Hostname = centos130 #Dies ist nur ein einfacher Test. Bearbeiten Sie daher nur diese Zeile und lassen Sie die anderen standardmäßig unverändert. #Benutzerregistrierung deaktivieren self_registration = off #Legen Sie fest, dass nur Administratoren Projekte erstellen können project_creation_restriction = adminonly 8. Führen Sie das Installationsskript aus[root@centos130 ~]# ./instsll.sh Beschreibung: Installationsfehler: Docker-Proxy, Docker-Runc können nicht gefunden werden Führen Sie [root@centos130 ~]# ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc aus. [root@centos130 ~]# ln -s /usr/libexec/docker/docker-proxy-current /usr/bin/docker-proxy Zeigen Sie die gestartete Image-Datei an [root@centos130 ~]# docker-compose ps Stopp und Start von Hafencontainern: [root@centos130 ~]# cd /usr/local/harbour/ [root@centos130 ~]# Docker-Compose-Stopp [root@centos130 ~]# docker-compose starten 9. Melden Sie sich bei Harbor an Die Installation ist nun abgeschlossen. Öffnen Sie den Browser, melden Sie sich direkt an und erstellen Sie mein Projekt: Melden Sie sich über das Shell-Befehlszeilenterminal beim Harbor-Repository an. [root@centos130 ~]# Harbor-Image hochladen [root@centos130 ~]# Docker-Login centos130:80 [root@centos130 ~]# docker login -u admin -p Harbor12345 centos130:80 #Konto und Passwort: admin/Harbor12345 Benutzername: admin Passwort: Anmeldung erfolgreich Testen Sie den Bild-Upload [root@centos130 ~]# Docker zieht nginx [root@centos130 ~]# Docker-Tag nginx:latest centos130:80/my/nginx:latest [root@centos130 ~]# Docker-Bilder [root@centos130 ~]# docker push centos130:80/my/nginx:latest Der Push bezieht sich auf das Repository [centos130:80/my/nginx] 55a77731ed26: Geschoben 71f2244bc14d: Geschoben f2cb0ecef392: Geschoben zuletzt: Digest: sha256:3936fb3946790d711a68c58be93628e43cbca72439079e16d154b5db216b58da Größe: 948 Hinweis: Das Format ist: Benutzer-IP/Projektname/Bildname:Versionsnummer (der Projektname muss vorab in der Web-Benutzeroberfläche erstellt werden). [root@centos130 ~]# Docker-Bilder REPOSITORY TAG BILD ID ERSTELLT GRÖSSE centos130:80/my/nginx:latest latest 5a3221f0137b vor 5 Tagen 126MB nginx latest 5a3221f0137b vor 5 Tagen 126 MB Löschen Sie das lokale Nginx-Image und testen Sie den Download [root@centos130 ~]# docker pull centos130:80/my/nginx:latest 10. Harbor ändert die Portnummer1. Ändern Sie die Zuordnung der Datei docker-compose.yml zu Port 1180: Ändern Sie die Konfigurationsdatei [root@centos130 ~]# cat /usr/local/harbor/docker-compose.yml Version: '2.3' Leistungen: Protokoll: Bild: goharbor/harbor-log:v1.8.6 Containername: Hafenprotokoll Neustart: immer dns_search: . Kappe_Tropfen: - ALLE cap_add: -CHOWN -DAC_OVERRIDE -SETGID -SETUID Bände: – /var/log/hafen/:/var/log/docker/:z - ./common/config/log/:/etc/logrotate.d/:z Häfen: 127.0.0.1:1514:10514 Netzwerke: -Hafen Registrierung: Bild: goharbor/registry-photon:v2.7.1-patch-2819-v1.8.6 Containername: Registrierung Neustart: immer Kappe_Tropfen: - ALLE Cap_Add: (Hinzufügen) -CHOWN -SETGID -SETUID Bände: – /data/registry:/storage:z - ./common/config/registry/:/etc/registry/:z - Typ: binden Quelle: /data/secret/registry/root.crt Ziel: /etc/registry/root.crt Netzwerke: -Hafen dns_suche: . hängt ab von: -Protokoll Protokollierung: Treiber: "syslog" Optionen: Syslog-Adresse: "tcp://127.0.0.1:1514" Schlagwort: "Registrierung" Registrierungsnummer: Bild: goharbor/harbor-registryctl:v1.8.6 Containername: Registryctl Umgebungsdatei: - ./common/config/registryctl/env Neustart: immer Kappe_Tropfen: - ALLE Cap_Add: (Hinzufügen) -CHOWN -SETGID -SETUID Bände: – /data/registry:/storage:z - ./common/config/registry/:/etc/registry/:z - Typ: binden Quelle: ./common/config/registryctl/config.yml Ziel: /etc/registryctl/config.yml Netzwerke: -Hafen dns_suche: . hängt ab von: -Protokoll Protokollierung: Treiber: "syslog" Optionen: Syslog-Adresse: "tcp://127.0.0.1:1514" tag: "registryctl" postgresql: Bild: goharbor/harbor-db:v1.8.6 Containername: Harbor-DB Neustart: immer Kappe_Tropfen: - ALLE Cap_Add: (Hinzufügen) -CHOWN -DAC_OVERRIDE -SETGID -SETUID Bände: – /data/database:/var/lib/postgresql/data:z Netzwerke: Hafen: dns_suche: . Umgebungsdatei: - ./common/config/db/env hängt ab von: -Protokoll Protokollierung: Treiber: "syslog" Optionen: Syslog-Adresse: "tcp://127.0.0.1:1514" Schlagwort: "postgresql" Kern: Bild: goharbor/harbor-core:v1.8.6 Containername: Harbor-Core Umgebungsdatei: - ./common/config/core/env Neustart: immer Kappe_Tropfen: - ALLE Cap_Add: (Hinzufügen) -SETGID -SETUID Bände: – /data/ca_download/:/etc/core/ca/:z - /data/psc/:/etc/core/token/:z – /data/:/data/:z - ./common/config/core/certificates/:/etc/core/certificates/:z - Typ: binden Quelle: ./common/config/core/app.conf Ziel: /etc/core/app.conf - Typ: binden Quelle: /data/secret/core/private_key.pem Ziel: /etc/core/private_key.pem - Typ: binden Quelle: /data/secret/keys/secretkey Ziel: /etc/core/key Netzwerke: Hafen: dns_suche: . hängt ab von: -Protokoll - Registrierung Protokollierung: Treiber: "syslog" Optionen: Syslog-Adresse: "tcp://127.0.0.1:1514" Schlagwort: "Kern" Portal: Bild: goharbor/harbor-portal:v1.8.6 Containername: Hafenportal Neustart: immer Kappe_Tropfen: - ALLE Cap_Add: (Hinzufügen) -CHOWN -SETGID -SETUID -NET_BIND_SERVICE Netzwerke: -Hafen dns_suche: . hängt ab von: -Protokoll -Kern Protokollierung: Treiber: "syslog" Optionen: Syslog-Adresse: "tcp://127.0.0.1:1514" Schlagwort: "Portal" Jobservice: Bild: goharbor/harbor-jobservice:v1.8.6 Containername: Hafen-Jobservice Umgebungsdatei: - ./common/config/jobservice/env Neustart: immer Kappe_Tropfen: - ALLE Cap_Add: (Hinzufügen) -CHOWN -SETGID -SETUID Bände: - /data/job_logs:/var/log/jobs:z - Typ: binden Quelle: ./common/config/jobservice/config.yml Ziel: /etc/jobservice/config.yml Netzwerke: -Hafen dns_suche: . hängt ab von: - Redis -Kern Protokollierung: Treiber: "syslog" Optionen: Syslog-Adresse: "tcp://127.0.0.1:1514" Schlagwort: "Jobservice" Redis: Bild: goharbor/redis-photon:v1.8.6 Containername: Redis Neustart: immer Kappe_Tropfen: - ALLE Cap_Add: (Hinzufügen) -CHOWN -SETGID -SETUID Bände: – /data/redis:/var/lib/redis Netzwerke: Hafen: dns_suche: . hängt ab von: -Protokoll Protokollierung: Treiber: "syslog" Optionen: Syslog-Adresse: "tcp://127.0.0.1:1514" Schlagwort: "redis" Proxy: Bild: goharbor/nginx-photon:v1.8.6 Containername: nginx Neustart: immer Kappe_Tropfen: - ALLE Cap_Add: (Hinzufügen) -CHOWN -SETGID -SETUID -NET_BIND_SERVICE Bände: - ./common/config/nginx:/etc/nginx:z Netzwerke: -Hafen dns_suche: . Häfen: 1180:80 -443:443 -4443:4443 hängt ab von: - PostgreSQL - Registrierung -Kern - Portal -Protokoll Protokollierung: Treiber: "syslog" Optionen: Syslog-Adresse: "tcp://127.0.0.1:1514" Schlagwort: "Proxy" Netzwerke: Hafen: extern: false 2. Ändern Sie die Datei /etc/docker/daemon.json und ändern Sie Port 80 in Port 1180: Daemon-Konfiguration ändern [root@centos130 ~]# cat /etc/docker/daemon.json { "Registrierungsspiegel": ["https://yxrgrke0.mirror.aliyuncs.com"], "unsichere Registrierungen": ["192.168.8.130:5000"], "unsichere Registrierungen": ["centos130:1180"], "log-driver": "JSON-Datei", "log-opts": { "max-size": "100m", "max-Datei": "3" } } 3. Ändern Sie den Hostnamen der Datei /usr/locat/harbor/harbor.yml Ändern Sie die Hostnamenkonfiguration cat /usr/locat/harbor/harbor.yml Hostname: centos130:1180 4. Stoppen Sie den Hafen, starten Sie neu und generieren Sie Konfigurationsdateien Neu initialisieren [root@centos130 ~]# cd /usr/locat/harbor/ [root@centos130 ~]# Docker-Compose-Stopp [root@centos130 ~]# ./install.sh 5. Docker neu starten [root@centos130 ~]# systemctl daemon-reload [root@centos130 ~]# systemctl restart docker.service Überprüfen Sie [root@centos130 ~]# docker login centos130:1180 Benutzername: admin Passwort: Harbor12345 Dies ist das Ende dieses Artikels über die Installation von Harbor mit Docker-Compose. Weitere Informationen zur Installation von Harbor mit Docker-Compose 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:
|
<<: So entwerfen Sie MySQL-Statistikdatentabellen
>>: CSS3 realisiert Textreliefeffekt, Gravureffekt, Flammentext
1. So überwachen Sie MySQL-Deadlocks in Produktio...
Inhaltsverzeichnis 1. Einführung in den Autofs-Di...
Vorwort Im Internet gibt es zahlreiche Informatio...
Vorwort Apropos Textsuchtools: Jeder sollte grep ...
Inhaltsverzeichnis 1. Lokalen Speicher erstellen ...
Frage Die feste CSS-Positionierung position:fixed...
Kurzbeschreibung Passend für Leser: Mobile Entwic...
Inhaltsverzeichnis 1. Vorbereitung 2. Bereitstell...
Die Echtzeitreplikation ist die wichtigste Method...
Gestern habe ich jemandem bei der Installation ei...
Inhaltsverzeichnis Vorwort Was sind dynamische Ei...
Dieser Artikel zeichnet das Installationstutorial...
Inhaltsverzeichnis Wo ist der Quellcode des Apple...
Dieser Artikel beschreibt, wie man die PHP-Curl-E...
Inhaltsverzeichnis Einführung in Arrays Array-Lit...