1. Über die Registrierung Der offizielle Docker-Hub ist ein guter Ort, um öffentliche Images zu verwalten. Wir können dort die gewünschten Images finden und unsere eigenen Images hochladen. Für unsere Anwendungsszenarien ist es manchmal jedoch erforderlich, dass wir über ein privates Bild-Repository verfügen, um unsere eigenen Bilder zu verwalten. Dies kann durch die Open-Source-Software Registry erreicht werden. Das Register hat zwei Codes auf GitHub: die alte Codebasis und die neue Codebasis. Der alte Code ist in Python geschrieben und hat Leistungsprobleme beim Pull und Push. Nach Version 0.9.1 wurde er als veraltet markiert und wird nicht mehr weiterentwickelt. Ab Version 2.0 wurde mit der Entwicklung einer neuen Codebasis begonnen, die in der Sprache Go geschrieben ist. Der Algorithmus zur Bild-ID-Generierung und die Bildspeicherstruktur im Register wurden geändert, wodurch die Effizienz beim Pullen und Pushen von Bildern erheblich optimiert wurde. Das offizielle Registrierungsimage wird auf dem Docker-Hub bereitgestellt. Wir können das Registrierungsimage direkt verwenden, um einen Container zu erstellen und unseren eigenen privaten Lagerdienst aufzubauen. 2. Registrierung erstellen Suchen und ziehen Sie zuerst das Bild docker search registry # Es wird empfohlen, zuerst zu suchen. Sie können sich die zugehörigen Bilder ansehen. Vielleicht gibt es irgendwann bessere Bilder. docker pull registry # Sie müssen kein Tag hinzufügen, da das neueste v2 ist. Ausführen eines Registrierungscontainers docker run -d \ # Im Hintergrund ausführen --name registry-srv \ # Den Containernamen angeben --restart=always \ # Automatischen Start festlegen -p 5000:5000 \ # Port-Mapping-Host, Zugriff über die Hostadresse -v /opt/zwx-registry:/var/lib/registry \ # Das Image-Speicherverzeichnis lokal mounten, um die Verwaltung zu vereinfachen und die Speicherung zu vereinfachen -v /opt/zwx-registry/srv-config.yml:/etc/docker/registry/config.yml \ # Die Konfigurationsdatei lokal mounten, um die Änderung und Speicherung der Registrierung zu erleichtern Der Inhalt von srv-config.yml ist wie folgt Damit das Warehouse die Löschfunktion unterstützen kann, wird der rot markierte Löschparameter auf „true“ gesetzt. Dieser Parameter ist standardmäßig nicht verfügbar, was bedeutet, dass das Repository-Image nicht gelöscht werden kann. Version: 0.1 Protokoll: Felder: Dienst: Registrierung Lagerung: löschen: aktiviert: true Cache: Blobdeskriptor: im Speicher Dateisystem: Stammverzeichnis: /var/lib/registry http: Adresse: :5000 Überschriften: X-Inhaltstyp-Optionen: [nosniff] Gesundheit: Speichertreiber: aktiviert: true Intervall: 10s Schwellenwert: 3 Registrieren Sie das https-Protokoll (sonst schlägt die Push-Sicherheitsauthentifizierung fehl) Sie müssen das Bild über das lokale Lager herunterladen und konfigurieren vim /etc/docker/daemon.json # Diese Datei existiert standardmäßig nicht, Sie müssen sie selbst hinzufügen. Wenn sie existiert, hängen Sie den folgenden Inhalt an. { "insecure-registries":["xx.xx.xx.xx:5000"] } # IP-Adresse oder Domänennamen angeben systemctl daemon-reload # Daemon neu starten systemctl restart docker # Docker-Dienst neu starten Bildupload und -download docker push xx.xx.xx.xx:5000/nginx # Geben Sie unbedingt die Lageradresse an, da sonst ein Fehler gemeldet wird docker pull xx.xx.xx.xx:5000/nginx Lagerspiegelinformationen anzeigen curl -XGET http://xx.xx.xx.xx:5000/v2/_catalog # Sehen Sie sich die Bilderliste des Repositorys an (Sie können sie auch über einen Windows-Browser öffnen) curl -XGET http://xx.xx.xx.xx:5000/v2/image_name/tags/list # Zeigt das angegebene Anwendungsbild-Tag an 3. Erstellen Sie das Registry-Web Suchen und ziehen Sie zuerst das Bild Docker-Suche Docker-Registry-Web docker pull hyper/docker-registry-web # Dieses Image wird von vielen Leuten verwendet Ausführen eines Registrierungs-Webcontainers docker run -d \ # Im Hintergrund ausführen --name registry-web \ # Den Containernamen angeben --restart=always \ # Automatischen Start einstellen -p 8000:8080 \ # Port-Mapping-Host, Zugriff über die Hostadresse -v /opt/zwx-registry/web-config.yml:/etc/config.yml \ # Konfigurationsdatei lokal mounten zum einfachen Ändern und Speichern hyper/docker-registry-web Der Inhalt der Datei web-config.yml ist wie folgt Der rote schreibgeschützte Parameter wird auf „false“ gesetzt, damit die Webseite eine Schaltfläche „Löschen“ anzeigen kann. Der Standardwert ist „True“, schreibgeschützter Status, keine Löschtaste, nur Anzeigen. Registrierung: # Docker-Registrierungs-URL URL: http://10.88.77.32:5000/v2 # FQDN der Docker-Registrierung Name: localhost:5000 # Um das Löschen von Bildern zuzulassen, sollte „false“ sein. schreibgeschützt: false Autorisierung: # Authentifizierung deaktivieren aktiviert: false Nachdem die Bereitstellung abgeschlossen ist, können Sie alle Anwendungsbilder anzeigen, indem Sie die Repository-UI-Adresse im Browser öffnen. Wählen Sie eine beliebige Anwendungsbildbibliothek aus, um alle Tag-Informationen des Bildes anzuzeigen. Nach jedem Tag gibt es eine Schaltfläche zum Löschen (standardmäßig nicht vorhanden, siehe config.yml für die Konfiguration). 4. Schnelle Bereitstellung Im Clustermodus können Sie Registry und Registry-Web schnell über den Docker-Stack bereitstellen. Erstellen Sie die neuen Konfigurationsdateien srv-config.yml und web-config.yml und legen Sie sie im angegebenen Pfad ab. Erstellen Sie dann eine neue Datei docker-compose.yml und führen Sie den Befehl aus. Docker-Stack bereitstellen -c docker-compose.yml RGT Version: „3.7“ # Docker-Stack muss Version 3.0 oder höher sein. Dienste: registry-srv: # Dienstnameimage: Registrierung Ports: #Zugeordneter Port - 5000:5000 volumes: # Mounten Sie den Image-Pfad und die Konfigurationsdatei. Beachten Sie, dass der geänderte Pfad mit dem tatsächlichen übereinstimmen muss - /opt/zwx-registry:/var/lib/registry - /opt/zwx-registry/srv-config.yml:/etc/docker/registry/config.yml Bereitstellen: # Legen Sie eine einzelne Aufgabe fest und beschränken Sie den Masterknoten auf den Ausführungsmodus: repliziert Replikate: 1 Platzierung: Einschränkungen: - node.role == Manager Registry-Web: #Dienstnameimage: hyper/docker-registry-web Ports: Anzahl der zugeordneten Ports - 8000:8080 volumes: #Mounten Sie die Konfigurationsdatei. Beachten Sie, dass der geänderte Pfad mit dem tatsächlichen Pfad übereinstimmen muss - /opt/zwx-registry/web-config.yml:/conf/config.yml Umfeld: – REGISTRY_URL=http://registry-srv:5000/v2 – REGISTRY_NAME=localhost:5000 Bereitstellen: # Legen Sie eine einzelne Aufgabe fest und beschränken Sie den Masterknoten auf den Ausführungsmodus: repliziert Replikate: 1 Platzierung: Einschränkungen: - node.role == Manager Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: MySQL-Deadlock-Routine: inkonsistente Batch-Einfügereihenfolge unter eindeutigem Index
>>: WeChat-Applet zur automatischen Videowiedergabe imitiert Beispiel eines GIF-Animationseffekts
Anweisung 1: <link rel="Shortcut-Symbol&qu...
In meiner Verzweiflung dachte ich plötzlich: Wie i...
Inhaltsverzeichnis Vorwort 1. Grundkenntnisse zu ...
Frage Das nahtlose Scrollen von Bildern und Texte...
Vorwort Der Autor war schon immer der Meinung, da...
Inhaltsverzeichnis Vue+ElementUI-Hintergrundverwa...
Inhaltsverzeichnis 1. Warum Redux 2. Redux-Datenf...
Vorwort Ein Klassenkamerad untersucht die Streami...
Inhaltsverzeichnis Wirkungsdemonstration:Hauptimp...
<br />Ich habe festgestellt, dass viele Leut...
Wirkung: Erstellen Sie zunächst fünf Vue-Schnitts...
Das MySQL-Slow-Log ist ein Informationstyp, auf d...
Bevor Sie diesen Artikel lesen, hoffe ich, dass S...
Es wird empfohlen, Breite, Höhe etc. nicht direkt ...
Inhaltsverzeichnis 1. Array-Dekonstruktion 2. Obj...