Alles, was Sie über Docker Hub wissen sollten

Informieren wir uns über Docker Hub.

Heute werden wir in diesem Tutorial etwas über Docker Hub lernen, einschließlich dessen, wie man es verwendet, wie man sein eigenes Image erstellt und wie es beim Veröffentlichen und Ziehen von Images hilft Docker-Hub. Außerdem werden wir einige Zeit damit verbringen, einige der beliebten Repositories auf Docker Hub zu erkunden.

Voraussetzungen

Sie benötigen ein grundlegendes Verständnis von Docker und sind mit der Windows- und Linux-Umgebung vertraut. In diesem Tutorial wird das Docker Desktop-Tool zum Üben laufender Übungen verwendet, dh zum Erstellen und Übertragen eines Images an Docker Hub. Windows- und Mac-Benutzer können es herunterladen und installieren hierund Linux-Benutzer folgen diesem Verknüpfung.

Was ist Docker-Hub?

Docker Hub ist ein Repository-Registrierungsdienst, der von bereitgestellt wird Docker Inc.

Es ermöglicht uns, Docker-Images zu und von Docker Hub zu ziehen und zu verschieben. Wir können dies als GitHub behandeln, wo wir unseren Quellcode abrufen und pushen, aber im Fall von Docker Hub laden wir unsere Container-Images herunter oder veröffentlichen sie. Es ist ein Cloud-basiertes Online-Repository, das beide Arten von Repositories speichert, dh sowohl das öffentliche als auch das private Repository. Öffentliche Repositories sind für jedermann zugänglich, aber das private ist für den betroffenen Eigentümer der Repositories zugänglich; Außerdem sind damit Kosten verbunden, wenn wir mehr als eine bestimmte Anzahl von Repositories privat speichern.

Docker-Hub-Funktionen

Docker Hub bietet die folgenden verschiedenen Funktionen.

#1. Bildarchive

Es hilft uns beim Suchen und Abrufen von Container-Images aus Docker Hub.

Es hilft uns auch dabei, Bilder als öffentliches oder privates Repository an Docker Hub zu senden.

#2. Team und Organisationen

Es ermöglicht uns, Arbeitsgruppen zu erstellen und die Repositories als private zu pushen, die nur für die Verwendung innerhalb unserer Organisation verfügbar ist. Auf diese Weise haben wir den Zugriff auf unsere privaten Repositories von Container-Images verwaltet.

#3. GitHub- und Bitbucket-Integration

Es ermöglicht die Integration mit Quellcode-Repositories wie GitHub und BitBucket.

#4. Automatisierte Builds

Wenn eine Änderung im Quellcode an Quellcode-Repositories gepusht wurde, werden Container-Images automatisch von GitHub oder BitBucket erkannt und erstellt und an Docker Hub gepusht.

#5. Webhooks

Sobald wir unsere Bilder erfolgreich mit Hilfe eines Webhook übertragen haben, löst dies eine Aktion aus, um Docker Hub mit anderen Diensten zu integrieren.

#6. Offizielle und Publisher-Bilder

Die von Dockern bereitgestellten hochwertigen Bilder gelten als offizielle Bilder und können abgerufen und verwendet werden. In ähnlicher Weise sind hochwertige Images, die von externen Anbietern bereitgestellt werden, Publisher-Images, auch zertifizierte Images genannt, die Support und Kompatibilitätsgarantie mit Docker Enterprise bieten. Wir werden später in diesem Artikel weitere zertifizierte Bilder besprechen.

  Der ultimative Leitfaden für Netzwerksicherheit

Erstes Repository erstellen

Für diesen Schritt ist eine Anmeldung bei der erforderlich Docker-Hub mit Ihren Zugangsdaten. Wenn Sie noch kein Konto haben, können Sie es bereits erstellen, indem Sie auf die Schaltfläche „Anmelden“ klicken, die auf der Webseite verfügbar ist. Nachdem Sie sich angemeldet haben, können Sie das Repository erstellen, indem Sie auf der Willkommensseite auf Repository erstellen klicken.

  • Sobald Sie auf Repository erstellen geklickt haben, werden Sie nach einem Namen gefragt und Ihrem Repository einen Namen geben.

  • Wählen Sie eine Sichtbarkeitsoption aus öffentlich oder privat aus.

Wir können auch unsere Quellcode-Repositories wie GitHub und BitBucket über die Build-Einstellung integrieren, aber dies ist optional und kann auch zu einem späteren Zeitpunkt erfolgen.

  • Wenn alles fertig ist, klicken Sie auf Erstellen.

Glückwunsch! Sie haben Ihre ersten Repositorys erstellt, die wie folgt aussehen werden.

Docker Hub stellt uns nur ein privates Repository kostenlos zur Verfügung. Wenn wir jedoch mehr private Repositories benötigen, können wir unser Konto auf einen kostenpflichtigen Plan upgraden.

Öffnen Sie nun das oben heruntergeladene und installierte Docker Desktop-Tool/Terminal und melden Sie sich mit einem Befehl bei Docker Hub an.

docker login

Erkundung der Bilder

Es gibt zwei Möglichkeiten, öffentliche Repositorys und Bilder von Docker Hub zu durchsuchen, d. h. wir können sie entweder auf der Docker Hub-Website durchsuchen oder das Befehlszeilentool verwenden und den folgenden Befehl ausführen. Stellen Sie sich vor, wir möchten das MySQL-Repository-Image durchsuchen.

docker search mysql

Herunterladen eines Bildes

Wir können ein Bild vom Docker Hub-Befehl herunterladen, indem wir den Pull-Befehl wie folgt verwenden

# docker pull mysql

Wenn wir bereits ein MySQL-Image auf unserem Computer haben, aktualisiert der obige Befehl das Image automatisch auf die neueste Version. Eine Sache, die Sie hier beachten sollten, ist, dass es viele Images von MySQL auf Docker Hub gibt, wenn wir die Ausgabe unseres Docker-Suchbefehls bemerken, und das liegt daran, dass jeder ein Image pushen kann. Aber es hängt von uns ab, welches wir basierend auf unserem Anwendungsfall verwenden, und wir müssen das Passende finden.

Nehmen wir an, wir wollen ein Bitnami/Mysql-Image ziehen.

# docker pull bitnami/mysql

Erstellen eines Bildes

Dieser Prozess erfordert ein Dockerfile. Wir können uns ein Dockerfile als eine Bedienungsanleitung vorstellen, die Docker sagt, was es zusammenbauen soll. Kurz gesagt, es ist eine Konfigurationsdatei, die Anweisungen zum Zusammenbauen enthält, was wir ihr zum Zusammenbauen sagen.

  So zeigen Sie die Geschwindigkeitsbegrenzung auf Google Maps an

Wie funktioniert es?

Docker liest die Anweisung aus einem Dockerfile und erstellt automatisch Images. Das Docker-Image ist ein mehrschichtiges Dateisystem und besteht aus mehreren schreibgeschützten Schichten, und jede Schicht eines Docker-Images stellt Anweisungen einer Docker-Datei dar. Führen Sie die folgenden Schritte aus, um ein Image mit Dockerfile zu erstellen.

Erstellen Sie ein Dockerfile, das unsere Anwendungskonfiguration angibt.

# sudo vim Dockerfile

Hinweis – Der Name der Datei sollte Dockerfile mit einem großen „D“ sein.

FROM ubuntu:16.04
MAINTAINER [email protected]
RUN apt-get update
RUN apt-get install –y mysql
CMD echo "My first image created."

Werfen wir einen Blick auf einige der wichtigen Schlüsselwörter, die in Dockerfile verwendet werden

  • Wir können #-Symbole verwenden, um einen Kommentar in einer Dockerfile hinzuzufügen
  • Das Schlüsselwort „FROM“ definiert das zu verwendende Basisbild.
  • Das „INSTANDHALTER“ Schlüsselwort ist die Person, die dieses Image pflegen wird.
  • Das Schlüsselwort „RUN“ wird verwendet, um die für das Bild gegebene Anweisung auszuführen. Aktualisieren Sie in unserem Fall zuerst das System und installieren Sie dann MySQL.
  • Das Schlüsselwort „CMD“ wird verwendet, um einen Befehl auszuführen, nachdem der Container gestartet wurde.
  • Das Schlüsselwort „COPY“ kann verwendet werden, um eine Datei von unserem Host-Betriebssystem in den Docker-Container zu kopieren.
  • Das Schlüsselwort „EXPOSE“ wird verwendet, um die Portnummer anzugeben, auf der der Container seinen Prozess ausführen wird.

Führen Sie den folgenden Befehl aus, um unser Docker-Image zu erstellen

Syntax:

docker build -t /repo-name .

# docker build -t asadali08537/first-repo .

Im obigen Befehl ist der Name des Bildes und „.“ gibt das aktuelle Arbeitsverzeichnis an. Dies ist ein Hinweis für Docker, nach dem aktuellen Verzeichnis der Docker-Datei zu suchen. „-t“ wird verwendet, um das Bild zu markieren. Wir können eine Ausgabe ähnlich der folgenden sehen:

Testen wir nun unser Image, indem wir es über den run-Befehl von Docker ausführen.

docker run asadali08527/first-repo

Wenn Sie den obigen Befehl ausführen, wird Ihr Docker-Image aufgefordert, MySQL mit allen erforderlichen Updates erfolgreich auf Ihrem Computer zu installieren, und schließlich wird auch eine Echonachricht angezeigt.

Pushen eines Bildes

Sobald unser Image erfolgreich erstellt wurde und ausgeführt wird, können wir es per Push-Befehl an Docker Hub übertragen.

docker push asadali08527/first-repo

Wir können die Image-Tags und den Status auf Docker Hub überprüfen, die ungefähr so ​​​​aussehen.

Was sind Docker-zertifizierte Images?

Dies sind die offiziellen Bilder, die entweder von Anbietern oder Mitwirkenden bereitgestellt werden. Ein Image kann nur dann von Docker Hub zertifiziert werden, wenn sein Inhalt den von Docker Hub bereitgestellten Regeln, Standards und Gesetzen entspricht. Kurz gesagt, dieses Bild muss bestimmte grundlegende Tests bestehen.

  Die 13 besten IDEs, die jeder Programmierer kennen sollte

Docker Hub bietet das Tool inspectDockerImage, mit dem ein Anbieter die Images und Plugins selbst zertifizieren kann (normalerweise veröffentlicht der Anbieter oder Mitwirkende seine Plugins zum Protokollieren von Volumes und Netzwerken).

Notiz –

Um unser Bild als Docker-zertifiziert zu veröffentlichen, müssen wir unsere Bilder und unser Plugin zunächst selbst durch die zertifizieren und testen inspectDockerImage Tool, sobald wir es erfolgreich zertifiziert und getestet haben, wird Docker Hub es nach der Einreichung zertifizieren. Wenn unsere Inhalte eine nicht zertifizierte Umgebung erfordern, können sie unter keinen Umständen als zertifiziert veröffentlicht werden.

Auf Docker Hub sind viele kuratierte und optimierte Bilder verfügbar.

Die Popularität dieser Bilder hängt von verschiedenen Faktoren wie Pulls, Marktpräsenz, Bewertungen, Zufriedenheitswerten usw. ab. Für eine detaillierte Liste der beliebtesten Repositories navigieren wir zu Docker-Hub Webseite. Die Verwendung eines Images hängt auch vom Betriebssystem und seiner Architektur ab. Wenn wir wissen, dass die abgerufenen Images für welches Betriebssystem und seine Architektur verwendet werden, müssen wir die folgenden Schlüsselfaktoren berücksichtigen, bevor wir ein Image abrufen.

  • Suchen Sie mithilfe von Tags nach einer bestimmten Version (meistens die neueste).
  • Entscheiden Sie sich für diejenige mit maximalen Downloads und Sternen.
  • Suchen Sie nach Updates (wenn es zuletzt aktualisiert wurde).
  • Überprüfen Sie nach Möglichkeit den Typ, ob es sich um einen verifizierten oder einen offiziellen (Docker-zertifizierten) Herausgeber handelt.

Webhooks

Ein Webhook ist ein Web-Callback, der mit Ereignissen arbeitet, und eine Möglichkeit für eine Anwendung, einer anderen Anwendung Echtzeitinformationen bereitzustellen. Heutzutage bietet fast jede Anwendung eine Webhook-Funktion, und so verfügt Docker Hub auch über diese Funktion.

Es ist eine HTTP-Push-API, die von benutzerdefinierten Ereignissen ausgelöst wird. Wir können einen Webhook im Docker verwenden, um eine Anwendung oder einen Dienst zu benachrichtigen, der die betreffenden Bilder verwendet. Im Allgemeinen konfigurieren wir Webhooks mit Docker als eine Pipeline von Ereignissen, sodass jeder Upload neuer Bilder Testanwendungen auslöst, um die Underline-Testfälle auszuführen.

Sobald das Testergebnis erfolgreich ist, wird ein weiteres Ereignis ausgelöst, nämlich die Containerbereitstellung, und sobald die Bereitstellung erfolgreich abgeschlossen wurde, werden andere Ereignisse ausgelöst, um die bisher vorgenommenen Änderungen zu protokollieren.

Fazit

Ich glaube, Sie haben jetzt ein angemessenes Verständnis von Docker Hub und wie Sie Images suchen, erstellen und übertragen können. Denken Sie daran, wenn Sie öffentliche Bilder übertragen, sind diese für jeden sichtbar.

Falls noch nicht geschehen, sehen Sie sich diese Docker-Installationsanleitung an.