Obwohl es auf DockerHub verschiedene Images gibt, wollte ich jederzeit mein eigenes Docker-Image in meiner Registrierung herunterladen und starten.
Sie können eine Docker-Datei vorbereiten und aus dem von DockerHub heruntergeladenen Docker-Image erstellen. Dies dauert jedoch überraschend lange. Daher möchte ich ein Image in einem Bereitschaftszustand vorbereiten und auf einem Docker-Server ablegen.
Die Kommunikation mit der Zertifikatsregistrierung über HTTPS ist ebenfalls möglich. Dies ist jedoch nur eine Methode zur Vorbereitung einer Umgebung, die schnell für den internen Gebrauch verwendet werden kann.
Auf dem Server und dem Client befinden sich zwei Umgebungen (z. B. VM).
Ungefähr die folgenden Schritte
Muss auf der Redistry Server- und Client-Seite installiert sein. Um Docker bei U / min zu installieren, müssen Sie das Download-Ziel registrieren.
yum -y install yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
Starten Sie den Docker-Dienst auf der Redistry-Server- und Clientseite und starten Sie ihn automatisch, wenn das Betriebssystem gestartet wird.
systemctl start docker
systemctl enable docker
Laden Sie das Registrierungsimage auf den Registrierungsserver herunter
docker pull registry
Ein Docker-Bild wird wie unten gezeigt hinzugefügt
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest 2d4f4b5309b1 3 months ago 26.2MB
Starten Sie die Docker-Registrierung. Zu diesem Zeitpunkt mounten wir das Host-Betriebssystemverzeichnis auf dem Container, da wir das Image in der Registrierung dauerhaft machen möchten.
docker run -d -p 5000:5000 \
-v /var/opt:/var/lib/registry \
registry
Bestätigen Sie, dass der Container gestartet wurde
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
35b3882b8536 registry "/entrypoint.sh /etc…" About an hour ago Up About an hour 0.0.0.0:5000->5000/tcp dreamy_roentgen
Das folgende Verzeichnis wird auf dem Host-Betriebssystem erstellt und unter diesem Verzeichnis bereitgestellt.
ls /var/opt/docker/registry/v2/
blobs repositories
Wenn das Bild registriert ist, ist es das Verzeichnis, in dem das Bild wie unten gezeigt unter Repositorys gespeichert wird.
ls -l /var/opt/docker/registry/v2/repositories/aaa
Insgesamt 0
drwxr-xr-x 5 Wurzel Wurzel 55 16. September 15:33 centos_local
Alles ist in Ordnung, aber laden Sie CentOS vorerst herunter
docker pull centos
Using default tag: latest
latest: Pulling from library/centos
3c72a8ed6814: Pull complete
Digest: sha256:76d24f3ba3317fa945743bb3746fbaf3a0b752f10b10376960de01da70685fbd
Bestätigen Sie, dass es heruntergeladen wurde
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0d120b6ccaa8 5 weeks ago 215MB
registry latest 2d4f4b5309b1 2 months ago 26.2MB
Ursprünglich habe ich Dockerfile usw. verwendet, um ein Bild mit verschiedenen Tools und Einstellungen zu erstellen, aber dieses Mal verwende ich einfach das heruntergeladene CentOS-Bild so wie es ist
docker tag centos localhost:5000/aaa/centos_local:1.0
Wenn Sie es markieren, können Sie ein Bild wie das folgende erstellen.
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0d120b6ccaa8 5 weeks ago 215MB
localhost:5000/aaa/centos_local 1.0 0d120b6ccaa8 5 weeks ago 215MB
registry latest 2d4f4b5309b1 2 months ago 26.2MB
Registrieren Sie das markierte Bild in der Docker-Registrierung
docker push localhost:5000/aaa/centos_local:1.0
The push refers to repository [localhost:5000/iseki/centos_local]
291f6e44771a: Pushed
1.0: digest: sha256:fc4a234b91cc4b542bac8a6ad23b2ddcee60ae68fc4dbd4a52efb5f1b0baad71 size: 529
Nach der Registrierung wird das Bild nicht mehr benötigt und gelöscht
docker rmi localhost:5000/iseki/centos_local:1.0
Untagged: localhost:5000/iseki/centos_local:1.0
Untagged: localhost:5000/iseki/centos_local@sha256:fc4a234b91cc4b542bac8a6ad23b2ddcee60ae68fc4dbd4a52efb5f1b0baad71
Vergewissern Sie sich nach dem Löschen, dass die Liste kein Bild enthält
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0d120b6ccaa8 5 weeks ago 215MB
registry latest 2d4f4b5309b1 2 months ago 26.2MB
Sie können vom Server herunterladen, indem Sie den folgenden Befehl ausführen
docker pull localhost:5000/aaa/centos_local:1.0
Auf der Clientseite können Sie keine Verbindung herstellen, es sei denn, Sie geben die folgenden Einstellungen auf der "Clientseite" ein.
cat /etc/docker/daemon.json
{ "insecure-registries":["<IP oder Docker-Name des Docker-Registrierungsservers>:5000"] }
Nehmen Sie die obigen Einstellungen vor und starten Sie den Docker-Dienst neu
systemctl restart docker
Führen Sie in diesem Status den Befehl aus, um das Image vom Docker-Registroy-Server abzurufen.
docker pull 10.1.5.25:5000/aaa/centos_local:1.0
1.0: Pulling from iseki/centos_local
3c72a8ed6814: Pull complete
Digest: sha256:fc4a234b91cc4b542bac8a6ad23b2ddcee60ae68fc4dbd4a52efb5f1b0baad71
Status: Downloaded newer image for 10.1.5.25:5000/aaa/centos_local:1.0
10.1.5.25:5000/aaa/centos_local:1.0
Das Docker-Image wird heruntergeladen
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
10.1.5.25:5000/aaa/centos_local 1.0 0d120b6ccaa8 7 weeks ago 215MB
Recommended Posts