Schritte für Docker zum Erstellen eines eigenen lokalen Image-Repositorys

Schritte für Docker zum Erstellen eines eigenen lokalen Image-Repositorys

1. Umgebung und Vorbereitung

  • 1. Ubuntu 14.04
  • 2.Docker-Umgebung

2. Bauprozess

1. Ändern Sie die Spiegelquelle (da die Standardquelle zu langsam ist, ist die inländische Quelle schneller).

sudo vim /etc/default/docker
Geben Sie die folgenden Parameter ein:
DOCKER_OPTS="--registry-mirror=http://hub-mirror.c.163.com" //NetEase, Sie können auch daoClouds verwenden

Wenn es sich um eine neu installierte Ubuntu-Umgebung handelt, führen Sie den folgenden Befehl aus (natürlich können Sie auch vi verwenden oder direkt schreiben)

sudo apt-get update //Apt-get-Quelle aktualisieren, um Downloadfehler zu vermeiden sudo apt-get install vim -y //Vim herunterladen

2. Starten Sie Docker und ziehen Sie die Registry-Image-Quelle

sudo service docker start //Docker starten
sudo docker pull registry //Laden Sie das Registrierungsimage herunter

3. Überprüfen Sie nach dem Download, ob der Download erfolgreich war

sudo Docker-Bilder 

4. Starten Sie nach dem Herunterladen den Container und mounten Sie die Datenzuordnung im Container im von Ihnen angegebenen Verzeichnis. Hier ist /opt/data/registry das auf dem Hostcomputer gespeicherte Verzeichnis.

mkdir -p /opt/data/registry //Verzeichnis erstellen sudo docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry 
  --name private_registry registry // Container starten -d: Container im Hintergrund laufen lassen -p: Mapping-Port angeben (ersterer ist die Portnummer des Host-Rechners, letzterer die Portnummer des Containers)
-v: Datenmount (ersteres ist das Hostverzeichnis, letzteres ist das Containerverzeichnis)
--name: Geben Sie dem laufenden Container einen Namen 

Überprüfen Sie anschließend, ob der Container erfolgreich gestartet wurde.

sudo docker ps 

5. Überprüfen Sie die IP-Adresse des Hostcomputers

ifconfig

6. Ändern Sie die Docker-Konfigurationsdatei und fügen Sie Ihre eigene private Bibliotheksadresse hinzu. Beim Start von Docker wird /etc/init/docker.conf geladen. Nach dem Lesen der Konfigurationsdatei wird festgestellt, dass die Datei /etc/default/docker geladen wird. Sie müssen also nur die private Bibliotheksadresse in /etc/default/docker schreiben.

sudo vim /etc/default/docker
Ändern Sie DOCKER_OPTS wie folgt:
DOCKER_OPTS="--registry-mirror=http://hub-mirror.c.163.com --insecure-registry 192.168.147.129:5000"
**Port 5000 muss hinzugefügt werden. Der Hostcomputer greift standardmäßig auf Port 80 zu. Wenn Sie ihn nicht hinzufügen möchten, können Sie beim Starten des Containers Port 5000 des Containers auf Port 80 des Hostcomputers abbilden.

Nach der Änderung den Container neu starten und den Registrierungsdienst starten

sudo service docker restart //Starten Sie den Container neu sudo docker start private_registry //Starten Sie den Registrierungsdienst neu

Mit den oben genannten fünf Schritten haben Sie eine private Bibliothek aufgebaut.

3. Testen

1. Ziehen Sie ein Bild und taggen Sie es (am Beispiel von busybox, da busybox relativ klein ist)

sudo docker pull busybox:latest // Rufe das Image ab sudo docker tag busybox:latest 192.168.147.129:5000/busybox

2. Senden Sie das Tag-Bild an Ihr lokales Bild-Repository

sudo docker push 192.168.147.129:5000/busybox

3. Löschen Sie alle Busybox-Bilder und überprüfen Sie

sudo docker rmi busybox 192.168.147.129:5000/busybox //Das Busybox-Image löschen sudo docker images //Überprüfen, ob Informationen zum Busybox-Image vorhanden sind

4. Ziehen Sie das Busybox-Bild aus dem lokalen Bildrepository und zeigen Sie es an

sudo docker pull 192.168.147.129:5000/busybox
sudo docker images //Informationen zum Image 192.168.147.129:5000/busybox anzeigen 

Das Obige zeigt an, dass der Pull erfolgreich war.

IV. Reflexion und Verbesserung

1. Auf die oben genannten lokalen Lager kann zugegriffen werden, solange sie sich im selben Netzwerk befinden

2. Es lohnt sich, darüber nachzudenken, wie man lokale Lager bequemer verwalten kann

3. Die oben genannten Methoden führen keine Identitätsauthentifizierung durch. Daher lohnt es sich auch zu überlegen, wie die Identitätsauthentifizierung durchgeführt werden soll.

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. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • So erstellen Sie ein lokales Docker-Image-Warehouse unter einem CentOS7-System
  • Tutorial zum Erstellen eines privaten Image-Repositorys mit Docker
  • So verwenden Sie ein Domestic Image Warehouse für Docker
  • Detaillierte Erläuterung der Verwendung des Alibaba Cloud-Image-Repository zum Erstellen ausländischer Docker-Images
  • Implementierung der Docker-Konfigurationsänderung des Alibaba Cloud-Image-Repository
  • .NETCore Docker implementiert Containerisierung und privates Image-Repository-Management
  • Beispiel für das Einrichten eines privaten Docker-Image-Repository auf einem CentOS 7.2-Server
  • Detaillierte Erklärung zum Erstellen eines privaten Docker-Image-Repositorys basierend auf Harbor
  • So verwenden Sie das Alibaba Cloud-Image-Repository mit Docker
  • So erstellen Sie mit Docker ein privates Image-Repository
  • So verwenden Sie das Docker-Image-Repository

<<:  Analyse des neuen Ressourcenmanagementsystems von CocosCreator

>>:  Details zur Verwendung des JSON-Typs in MySQL 5.7

Artikel empfehlen

Verwendung von Provide und Inject in Vue3

1. Erklärung von provide und inject Mit „Bereitst...

Basiswissen: Was bedeutet http vor einer Website-Adresse?

Was ist HTTP? Wenn wir eine Website durchsuchen m...

XHTML verwendet einige veraltete Elemente in HTML nicht mehr

Wenn wir CSS-Webseitenlayouts erstellen, wissen wi...

HTML-, CSS- und JS-Kompatibilitätsbaum (IE, Firefox, Chrome)

Was ist ein Baum im Webdesign? Einfach ausgedrückt...

NestJs verwendet Mongoose zum Betrieb von MongoDB

Ich habe vor Kurzem angefangen, das NestJs-Framew...

Eine kurze Diskussion über das Funktionswissen von Python

Inhaltsverzeichnis Zwei Hauptkategorien von Funkt...

Die häufigsten Fehler beim Schreiben von HTML-Tags

Wir sollten besser aufpassen, denn die HTML-Poliz...

Zusammenfassung der Unterschiede zwischen SQL und NoSQL

Hauptunterschiede: 1. Typ SQL-Datenbanken werden ...

Eine kurze Analyse von Kubernetes-Controllern und -Labels

Inhaltsverzeichnis 01 Gemeinsame Controller in k8...

Mysql5.7.14 Linux-Version Passwort vergessen perfekte Lösung

Fügen Sie in der Datei /etc/my.conf unter [mysqld...

Zusammenfassung der Wissenspunkte zum Linux-Datumsbefehl

Verwendung: Datum [Optionen]... [+Format] oder: D...