Richten Sie die Docker-Registrierung lokal unter CentOS 7 ein

Einführung

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).

Verfahren

Ungefähr die folgenden Schritte

Installieren Sie Docker

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 Docker

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

Vorbereitung der Docker-Registrierung

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

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

Bildvorbereitung auf der Serverseite (Download und Registrierung)

Laden Sie das Originalbild herunter, um sich beim lokalen Repository-Server zu registrieren

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

Erstellen Sie ein Bild, das in der Docker-Registrierung registriert werden soll (markiert)

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 Bild in der Docker-Registrierung

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

Laden Sie Bilder aus der Docker-Registrierung herunter

Download auf der Serverseite

Sie können vom Server herunterladen, indem Sie den folgenden Befehl ausführen

docker pull localhost:5000/aaa/centos_local:1.0

Download auf der Client-Seite

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

Richten Sie die Docker-Registrierung lokal unter CentOS 7 ein
Docker-Installation unter CentOS 6
Richten Sie GitLab mit Docker ein
Richten Sie ansible-playbook unter Ubuntu 20.04 ein
WordPress mit Docker Compose unter CentOS 8
Verwenden Sie Docker CE (Official) mit CentOS 8
Installieren Sie Docker unter Ubuntu und richten Sie die Remoteverbindung mit tls ein
Veröffentlichen Sie das Docker-Image in der GitHub-Paketregistrierung
Richten Sie den Metabasisdienst unter Windows Server 2012 ein
Freiheit auf Docker
Gachi-Anfänger richten Container mit Kubernetes ein? Bis···
Richten Sie unter Ubuntu 20.04 einen SSH-Server ein, nämlich WSL2
Richten Sie mit Vagrant einen virtuellen Cent OS-Server ein
Redmine auf Docker
Ich möchte die API mit Rails auf mehreren lokal eingerichteten Docker-Composes treffen
Maven auf CentOS 7 Tutorial
Verwenden Sie perltidy unter CentOS 8
Installieren Sie Golang unter CentOS 8
Probieren Sie OpenLiteSpeed unter CentOS8 aus
Python-Memo auf Docker
Installieren Sie Neo4j 4.1.3 unter centOS
Tomcat v8 unter CentOS7
Installieren Sie Docker auf Manjaro
Installieren Sie Vertica 10.0 unter CentOS 6.10
Installation von Zabbix 5 unter CentOS 8
Verwenden Sie mod_auth_cas unter CentOS 8
Installieren Sie Python 3 unter CentOS 7
Installieren Sie kuromoji unter CentOS7
Anlegestelle v8 auf CentOS7
Installieren Sie PostGIS 2.5.5 unter CentOS7
Installieren Sie jpndistrict unter CentOS 7
Installieren Sie Redmine 4.1.1 unter CentOS 7
Smokeping Installation unter CentOS7
Installieren Sie PostgreSQL 13 unter CentOS 7.5
Bis Sie nginx unter CentOS mit Docker unter Mac OS starten
Richten Sie einen MineCraft Paper-Server mit Ubuntu 20.04.1 LTS ② Update ein
Richten Sie Django mit PostgreSQL und Gunicorn auf ECS unter Ubuntu 16.04 ein