1: Installation eines privaten Docker-Warehouses 1. Laden Sie das Bild aus dem Bild-Repository herunter: [root@localhost ~]# systemctl starte Docker #Wenn bereits ein Bild vorhanden ist, können Sie das Löschen des Originalbilds wie folgt erzwingen: [root@xxx-pub /]# docker rmi -f docker.io/registry Ohne Tag: docker.io/registry:latest Ohne Tag: docker.io/registry@sha256:51bb55f23ef7e25ac9b8313b139a8dd45baa832943c8ad8f7da2ddad6355b3c8 [root@xxx-pub /]# #Starten Sie den Download des neuesten Bildes. [root@localhost ~]# Docker-Pull-Registrierung Standard-Tag verwenden: latest aktuell: Aus Bibliothek/Registrierung ziehen 4064ffdc82fe: Pull abgeschlossen c12c92d1c5a2: Ziehen abgeschlossen 4fbc9b6835cc: Ziehen abgeschlossen 765973b0f65f: Ziehen abgeschlossen 3968771a7c3a: Ziehen abgeschlossen Zusammenfassung: sha256:20bbbc0f6384cf7dc6e292ccbe75935b73c92ec776543c970904bc60feceb129 Status: Neueres Image für Registry:latest heruntergeladen [root@localhost ~] 2. Starten Sie das Image-Repository und mounten Sie es auf der lokalen Festplatte: [root@xxx-pub /]# docker run -d -v /registry:/home/docker-registry -p 5000:5000 --restart=always --privileged=true --name registry registry:latest Das Bild „registry:latest“ kann lokal nicht gefunden werden. Es wird versucht, das Repository docker.io/library/registry abzurufen ... aktuell: Abrufen von docker.io/library/registry Zusammenfassung: sha256:51bb55f23ef7e25ac9b8313b139a8dd45baa832943c8ad8f7da2ddad6355b3c8 Status: Neueres Image für docker.io/registry:latest heruntergeladen b7bd2b14ed488936afe798be95f3cd56f604fb092d45cf6f4a58359bcad0d34c [root@xxx-pub /]#
Um Daten zu speichern, mounten Sie das Volume in /home/docker-registry 3. Wir taggen ein lokales Bild und laden es hoch: Prüfen Sie, welche lokalen Bilder verfügbar sind: [root@xxx-pub /]# Docker-Bilder REPOSITORY TAG BILD ID ERSTELLT GRÖSSE docker.io/centos centos7.5.1804 fdf13fa91c6e vor 4 Wochen 200 MB docker.io/registry latest b2b03e9146e1 vor 2 Monaten 33,3 MB [root@xxx-pub /]# Nehmen Sie docker.io/centos als Beispiel. [root@xxx-pub /]# Docker-Tag fdf13fa91c6e localhost:5000/xxx-centos7.5.1804:1.0 ##localhost:5000 steht für die Lageradresse, fdf13fa91c6e steht für die Bild-ID, xxx-centos7.5.1804 steht für den Bildnamen und 1.0 steht für die Versionsnummer. oder: [root@xxx-pub /]# Docker-Tag docker.io/centos:centos7.5.1804 localhost:5000/xxx-centos7.5.1804:1.0 4. Direkter Upload: [root@xxx-pub /]# docker push localhost:5000/xxx-centos7.5.1804:1.0 Der Push bezieht sich auf ein Repository [localhost:5000/xxx-centos7.5.1804] bcc97fbfc9e1: Geschoben 1.0: Digest: sha256:7c14180942615fef85cb5c8b1388e028be1a8f79694a5fa30a4025173e42ad61 Größe: 529 [root@xxx-pub /]# Während des PUSH-Vorgangs wird möglicherweise ein Fehler ähnlich dem folgenden gemeldet (nachfolgend die Fehlermeldung im Internet): [root@localhost ~]# docker push 192.168.174.128:5000/hallo:latest Der Push bezieht sich auf ein Repository [192.168.174.128:5000/hallo] Der Registrierungsendpunkt https://192.168.174.128:5000/v0/ kann nicht gepingt werden. v2-Ping-Versuch fehlgeschlagen mit Fehler: Get https://192.168.174.128:5000/v2/: http: Server hat HTTP-Antwort an HTTPS-Client gegeben v1-Ping-Versuch ist mit folgendem Fehler fehlgeschlagen: Get https://192.168.174.128:5000/v1/_ping: http: Server hat HTTP-Antwort an HTTPS-Client gegeben [root@localhost ~] Lösung: Ändern Sie mithilfe von https die Datei /etc/sysconfig/docker (hier ist der Docker unter Centos7) und fügen Sie ADD_REGISTRY='--add-registry 192.168.18.162:5000', INSECURE_REGISTRY='--insecure-registry 192.168.18.162:5000' hinzu (das Obige ist die Konfiguration der historischen Docker-Version), wie unten gezeigt: Allerdings wird in der Konfiguration des neuen Docker Container Repository die Konfiguration im eigenen Docker Container übernommen (sowohl in der Docker Registry als auch auf der Maschine wo das weitere Pull Image gezogen wird wird hier folgende Konfiguration angegeben): Nachdem die Spezifikation abgeschlossen ist, starten Sie Docker neu. Die Neustartkonfiguration lautet wie folgt: [root@youx-pub volumes]# systemctl restart docker Zusätzlich: Überprüfen Sie docker.service und die Konfigurationsdatei: [root@youx-pub-Registrierung] suchen / -name docker.service /sys/fs/cgroup/memory/system.slice/docker.service /sys/fs/cgroup/devices/system.slice/docker.service /sys/fs/cgroup/blkio/system.slice/docker.service /sys/fs/cgroup/cpu,cpuacct/system.slice/docker.service /sys/fs/cgroup/pids/system.slice/docker.service /sys/fs/cgroup/systemd/system.slice/docker.service /usr/lib/systemd/system/docker.service [root@youx-pub-Registrierung]# vim /usr/lib/systemd/system/docker.service Führen Sie dann Folgendes aus: #Da sich die Datei docker.service, die für den Systemctl-Start verwendet werden kann, geändert hat, muss die folgende Konfiguration durchgeführt werden. Führen Sie dann den Docker-Neustart aus, um systemctl daemon-reload zu starten. systemctl Neustart Docker Wenn der folgende Fehler weiterhin gemeldet wird: [root@youx-pub-Registrierung]# Docker Push 192.168.18.162:5000/nginx:1.2 Der Push verweist auf ein Repository [192.168.18.162:5000/nginx] Holen Sie sich https://192.168.18.162:5000/v1/_ping: http: Server hat HTTP-Antwort an HTTPS-Client gegeben [root@youx-pub-Registrierung] Die Lösung ist: Erstellen Sie daemon.json unter /etc/docker mit folgendem Inhalt: {"unsichere-registries":["192.168.18.162:5000"]} Starten Sie dann den Docker-Container neu: [root@youx-pub volumes]# systemctl restart docker 5. Nachdem der Upload abgeschlossen ist, können wir überprüfen, ob sich im gemounteten Verzeichnis ein Image befindet: [root@xxx-pub Docker-Registrierung]# pwd /home/docker-registrierung [root@xxx-pub Docker-Registrierung] # ls /Registrierung/ Docker 6. Informationen zum Anzeigen lokaler Bilder: [root@xxx-pub Docker-Registrierung]# curl http://192.168.18.162:5000/v2/_catalog {"Repositorys":["xxx-centos7.5.1804","xxx-centos7.5.1804-v1.0"]} [root@xxx-pub Docker-Registrierung] 7. Da es zwei Bilder gibt, müssen wir deren Tag-Informationen zum Herunterladen abrufen: [root@xxx-pub Docker-Registrierung]# curl http://192.168.18.162:5000/v2/xxx-centos7.5.1804/tags/list {"name":"xxx-centos7.5.1804","tags":["1.0"]} [root@xxx-pub Docker-Registrierung] 8. Anschließend laden wir das Image direkt (auf einen anderen Rechner) herunter: [root@bigdata2 ~]# docker pull 192.168.18.162:5000/youx-centos7.5.1804:1.0 Standard-Tag verwenden: latest Es wird versucht, das Repository 192.168.18.162/youx-centos7.5.1804 abzurufen ... Holen Sie sich https://192.168.18.162/v1/_ping: wählen Sie TCP 192.168.18.162:443: getsockopt: keine Route zum Host [root@bigdata2 ~]# Wenn die oben beschriebene Situation eintritt, lautet die Lösung: Kompilieren: [root@youx-pub volumes]# vim /etc/containers/registries.conf diese Datei. Die alte ist zu bearbeiten: /etc/sysconfig/docker Starten Sie dann Docker neu [root@youx-pub volumes]# systemctl restart docker Dann fand ich heraus, dass ich ziehen konnte #Beachten Sie, dass die Adresse hier lautet: Lageradresse: Lagerportnummer/REPOSITORY:TAG [root@bigdata2 ~]# docker pull 192.168.18.162:5000/youx-centos7.5.1804:1.0 Wenn es immer noch nicht funktioniert, müssen Sie /etc/docker/daemon.json ändern, der Inhalt ist wie folgt: [root@bigdata2 docker]# cat daemon.json {"unsichere-registries":["192.168.18.162:5000"]} 2. Laden Sie das Image von einem anderen Computer in das Docker-Image-Repository hoch: [root@bigdata2 ~]# Docker-Tag centos7-jdk8-nginx:1.0 192.168.18.162:5000/centos7-jdk8-nginx:1.0 [root@bigdata2 ~]# Docker-Bilder REPOSITORY TAG BILD ID ERSTELLT GRÖSSE 192.168.18.162:5000/centos7-jdk8-nginx 1.0 bcacd65e2a2e vor 2 Minuten 2,18 GB [root@bigdata2 ~]# docker push 192.168.18.162:5000/centos7-jdk8-nginx:1.0 Der Push verweist auf ein Repository [192.168.18.162:5000/centos7-jdk8-nginx] f018e9c38a66: Geschoben 2a47dcd341ef: Geschoben c5dea3bc729a: Geschoben bcc97fbfc9e1: Geschoben 1.0: Digest: sha256:d907ff2f8eb590209700c01ce85c78d0bc778a4238539d747e4667d68cb52102 Größe: 1163 [root@bigdata2 ~] Geben Sie dann den Speicherort des Docker-Image-Warehouses ein: [root@youx-pub-Registrierung]# curl http://192.168.18.162:5000/v2/_catalog {"Repositorys":["centos7-jdk8-nginx","nginx"]} [root@youx-pub-Registrierung]# curl http://192.168.18.162:5000/v2/centos7-jdk8-nginx/tags/list {"name":"centos7-jdk8-nginx","tags":["1.0"]} [root@youx-pub-Registrierung] 3. Wie lösche ich das lokale Bild? Normalerweise ist die Löschfunktion nicht vorhanden, daher wird zum Löschen ein Plug-In eines Drittanbieters verwendet. Der Speicherort des Plugins auf GitHub: 1. Ressourcen herunterladen [root@master-Registrierung]# curl https://raw.githubusercontent.com/burnettk/delete-docker-registry-image/master/delete_docker_registry_image.py | sudo tee /usr/local/bin/delete_docker_registry_image >/dev/null sudo chmod a+x /usr/local/bin/delete_docker_registry_image 2. Relevante Linkvariablen festlegen: Suchen Sie nach REGISTRY_DATA_DIR, Befehl: [root@youx-pub-Registrierung]# finden / -name-Registrierung [root@youx-pub-Registrierung]# finden / -name-Registrierung /var/lib/docker/overlay2/d72320cd67b42f7ae66342cc6dedab7abe5e89106de8c4919ec8c5a6e5940b09/diff /var/lib/ucf/registrierung /var/lib/docker/overlay2/92211417089f7be8239def550e1e89ce3f0e50ac57f2c36ba723ca312ea06ae3/diff/bin/registry /var/lib/docker/overlay2/c1716aea0b380eb94ead9aa02552769acd4c3dac8e6dab735997f1709ce79a33/diff/usw./docker/registrierung /var/lib/docker/overlay2/46f719f01255c431b4343e78607341d6d66ea482bc6d03c3b4e05e7413f46be6/diff/var/lib/registrierung /var/lib/docker/overlay2/46f719f01255c431b4343e78607341d6d66ea482bc6d03c3b4e05e7413f46be6/zusammengeführt/bin/registry /var/lib/docker/overlay2/46f719f01255c431b4343e78607341d6d66ea482bc6d03c3b4e05e7413f46be6/zusammengeführt/usw./docker/registry /var/lib/docker/overlay2/46f719f01255c431b4343e78607341d6d66ea482bc6d03c3b4e05e7413f46be6/zusammengeführt/var/lib/registry /var/lib/docker/volumes/1522d54c954c755250cb71686cacd9714cd3d0f0c706ec18c1e490c7881fe713/_data/docker/registry /opt/data/registry /Registrierung [root@youx-pub-Registrierung] [root@youx-pub-Repositorys] gefunden# pwd /var/lib/docker/volumes/1522d54c954c755250cb71686cacd9714cd3d0f0c706ec18c1e490c7881fe713/_data/docker/registry/v2/repositories [root@youx-pub-Repositorys]# ls centos7-jdk8-nginx nginx [root@youx-pub-Repositorys]# Legen Sie daher den Speicherort des Bild-Repositorys fest auf: [root@master-Registrierung]# export REGISTRY_DATA_DIR=/var/lib/docker/volumes/1522d54c954c755250cb71686cacd9714cd3d0f0c706ec18c1e490c7881fe713/_data/docker/registry/v2 Die Adresse ist unsere Mount-Adresse: Schauen Sie sich die zugehörigen Tags an: [root@youx-pub-Registrierung]# curl http://192.168.18.162:5000/v2/_catalog {"Repositorys":["youx-centos7.5.1804","youx-centos7.5.1804-v1.0"]} [root@youx-pub-Registrierung]# curl http://192.168.18.162:5000/v2/youx-centos7.5.1804-v1.0/tags/list {"name":"youx-centos7.5.1804-v1.0","tags":["neueste"]} [root@youx-pub-Registrierung] Wir können es im Anschluss direkt löschen: [root@master-Registrierung]# delete_docker_registry_image --image youx-centos7.5.1804-v1.0:latest INFO [2017-04-08 11:39:39,793] Löschen von /registry/docker/registry/v2/repositories/nginx/_manifests/tags/v1 [root@master-Registrierung]# curl http://192.168.18.162:5000/v2/_catalog {"Repositorys":["youx-centos7.5.1804"]} Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung des Cache-Implementierungsprinzips von Vue-Berechnungen
>>: Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.19 (Win10)
Die Maschinen in unserem LAN können auf das exter...
Inhaltsverzeichnis 1. Nachfrage 2. Lösung 3. Die ...
Inhaltsverzeichnis 1. Erforderliche Attribute 1. ...
In diesem Artikel werden MySQL-Protokolle sowie B...
Inhaltsverzeichnis 1. Einleitung 2. Grundsatz Pra...
[Wer ist nslookup?] 】 Der Befehl nslookup ist ein...
Im Bereich der Datenanalyse sind Datenbanken unse...
1. Einführung in Prometheus Prometheus ist eine O...
Kostenlose Punkte Interviewer : Haben Sie schon e...
Die folgenden HTML-Tags umfassen grundsätzlich all...
Vorwort Node wird als mittlere Schicht im Projekt...
Problembeschreibung (Umgebung: Windows 7, MySql 8...
In diesem Artikelbeispiel wird der spezifische Co...
MySQL Vorteil: Kleine Größe, hohe Geschwindigkeit...
<meta http-equiv="X-UA-kompatibel" c...