Docker Schnellstart – Docker Hub
Was ist das Docker Hub?
Das Docker Hub ist ein Repository Registry Service, der Docker Inc.

Das Docker Hub ermöglicht es uns, Docker-Images zu und von Docker Hub zu pullen (ziehen) und zu pushen. Wir können es wie GitHub behandeln, wo wir unseren Quellcode abholen 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, also sowohl das öffentliche Repository als auch das private Repository. Öffentliche Repositories sind für jeden zugänglich, aber private Repos sind nur für den jeweiligen Besitzer der Repositories zugänglich; außerdem sind damit Kosten verbunden, wenn wir mehr als eine bestimmte Anzahl von Repositories als privat speichern.
Docker Hub Funktionen
Das Docker Hub bietet die folgenden verschiedenen Features.
1. Image Repositories
Es hilft uns bei der Suche und dem Abrufen von Container-Images von Docker Hub.

Es hilft uns auch dabei, Images als öffentliches oder privates Repository zum Docker Hub zu pushen.
2. Teams und Organisationen
Es erlaubt uns, Teams zu erstellen und die Repositories als private Repositories zu pushen, die nur innerhalb unserer Organisation genutzt werden können. Auf diese Weise haben wir einen verwalteten Zugriff auf unsere privaten Repositories von Container-Images.
3. GitHub und Bitbucket Integration
Es ermöglicht die Integration mit Source Code Repositories wie GitHub und BitBucket.

4. Automatisierte Builds
Wenn eine Änderung im Quellcode in die Quellcode-Repositories gepusht wurde, erkennt und baut es automatisch Container-Images von GitHub oder BitBucket und pusht sie in den Docker Hub.
5. Webhooks
Sobald wir unsere Images erfolgreich gepusht haben, löst es mit Hilfe eines Webhooks eine Aktion aus, um Docker Hub mit anderen Diensten zu integrieren.
6. Offizielle und Publisher Images
Einige Images, die von Docker zur Verfügung gestellt werden, werden als offizielle Images betrachtet und können gezogen und verwendet werden. Ebenso sind hochwertige Images, die von externen Anbietern zur Verfügung gestellt werden, Publisher Images, auch zertifizierte Images genannt, die Support und Kompatibilitätsgarantie mit Docker Enterprise bieten. Wir werden später in dieser Lektion noch über zertifizierte Images sprechen.
Dein erstes Repository erstellen
Für diesen Schritt musst du dich im Docker Hub mit deinen Anmeldedaten anmelden. Wenn du noch keinen Account hast, kannst du ihn bereits erstellen, indem du auf den Sign-Up Button auf der Webseite klickst. Sobald du dich angemeldet hast, kannst du das Repository erstellen, indem du auf der Willkommensseite auf Create Repository klickst.
- Sobald du auf Create Repository geklickt hast, wird es nach einem Namen fragen, gib deinem Repository einen Namen.

- Wähle eine Sichtbarkeitsoption zwischen öffentlich und privat.
Wir können auch unsere Quellcode-Repositories wie GitHub und BitBucket über die Build-Einstellung integrieren, aber das ist optional und kann auch zu einem späteren Zeitpunkt gemacht werden.
- Sobald alles erledigt ist, klicke auf Create.
Glückwunsch! Du hast deine ersten Repositories 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 unseren Account auf einen kostenpflichtigen Plan upgraden.
Öffne nun das Docker Desktop Tool/Terminal, das du oben heruntergeladen und installiert hast und melde dich bei Docker Hub an, indem du einen Befehl verwendest.
Es gibt zwei Möglichkeiten, die öffentlichen Repositories und Images von Docker Hub zu durchsuchen, d.h. wir können sie entweder von der Docker Hub Webseite aus durchsuchen, oder wir können das Kommandozeilentool verwenden und den untenstehenden Befehl ausführen. Nehmen wir an, wir wollen das MySQL Repository Image durchsuchen.
Du erhältst dann (in etwa) folgende Ausgabe im Terminal:

Ein Image herunterladen
Wir können ein Image vom Docker Hub, wie du bereits gelernt hast, mit dem Pull-Befehl wie folgt herunterladen.
docker pull mysql
Wenn wir bereits ein mysql-image auf unserer Maschine haben, dann wird der obige Befehl das Image automatisch auf die neueste Version aktualisieren. Eine Sache, die wir hier im Hinterkopf behalten sollten,
Sagen wir, wir wollen ein bitnami/mysql Image ziehen.
Dieser Prozess erfordert ein Dockerfile. Kurz gesagt, es ist eine Konfigurationsdatei, die die Anweisungen, die wir dem Dockerfile geben, aufbewahrt. Mehr zur Erstellung von Dockerfiles kannst du in der letzten Lektion dieses Kurses nachschlagen.
An dieser Stelle wiederholen wir nochmal den Befehl zum Erstellen eines Images.
Docker Push - Ein Image pushen
Sobald unser Image erfolgreich erstellt wurde und läuft, können wir es mit dem Befehl push auf den Docker Hub pushen.
Was sind Docker Certified Images?
Das sind die offiziellen Images, die entweder von Anbietern oder Mitwirkenden veröffentlicht werden. Ein Image kann nur dann von Docker Hub zertifiziert werden, wenn sein Inhalt den Regeln, Standards und Gesetzen entspricht, die von Docker Hub vorgegeben werden. Kurz gesagt, das Image muss bestimmte Basistests bestehen.
Docker Hub stellt das inspectDockerImage tool, mit dem ein Anbieter seine Images und Plugins selbst zertifizieren kann (in der Regel veröffentlichen Anbieter oder Contributor ihre Plugins für die Protokollierung von Volumes und Netzwerken).
Hinweis: Um unser eigenes Image als zertifiziert zu veröffentlichen, müssen wir zuerst die Images und Plugins mit dem inspectDockerImage-Tool zertifizieren und testen. Sobald wir erfolgreich zertifiziert und getestet haben, wird Docker Hub es nach der Einreichung zertifizieren. Wenn unser Inhalt eine nicht-zertifizierte Umgebung benötigt, kann dieser nicht als zertifiziert veröffentlicht werden.
Beliebteste Images auf DockerHub
Es gibt viele gesammelte und optimierte Images, die auf Docker Hub verfügbar sind.
Die Popularität dieser Images hängt von verschiedenen Faktoren ab, wie z.B. Pulls, Marktpräsenz, Bewertungen etc.
Eine detaillierte Liste der beliebtesten Repositories findest du auf der Docker Hub Website. Die Verwendung eines Images hängt auch vom Betriebssystem und seiner Architektur ab. Wenn wir wissen, dass die gezogenen Images für welches Betriebssystem und seine Architektur verwendet werden, dann müssen wir die folgenden Schlüsselfaktoren berücksichtigen, bevor wir ein Image ziehen.
- Suche mit Hilfe von Tags nach einer bestimmten Version (meistens die neueste).
- Wähle diejenige, die die meisten Downloads und Sterne hat.
- Prüfe, ob es Updates gibt (wann es zuletzt aktualisiert wurde).
- Wenn möglich, überprüfe den Typ, ob es sich um eine verifizierte Version oder eine offizielle (Docker Certified) Version handelt.
Webhooks
Ein Webhook ist ein Web-Callback, der mit Ereignissen arbeitet, und es ist eine Möglichkeit für eine Anwendung, Echtzeitinformationen an eine andere Anwendung zu liefern. Heutzutage bietet fast jede Anwendung eine Webhook-Funktion, und so hat auch Docker Hub diese Funktion.
Es ist eine HTTP-Push-API, die durch benutzerdefinierte Ereignisse ausgelöst wird. Wir können einen Webhook in Docker verwenden, um eine Anwendung oder einen Dienst zu benachrichtigen, der die betroffenen Images verwendet. Im Allgemeinen konfigurieren wir Webhooks mit Docker als eine Pipeline von Ereignissen, so dass jeder Upload von neuen Images Testanwendungen auslöst, um die unterstrichenen Testfälle auszuführen.
Sobald das Testergebnis erfolgreich ist, wird es ein weiteres Ereignis auslösen, nämlich das Deployment des Containers, und sobald das Deployment erfolgreich durchgeführt wurde, wird es weitere Ereignisse auslösen, um die bis dahin durchgeführten Änderungen zu protokollieren.
Fazit zum Docker Hub
Ich glaube, du hast jetzt ein gutes Verständnis vom Docker Hub und wie du Images suchen, erstellen und pushen kannst. Behalte im Hinterkopf, dass wenn du öffentliche Images bereitstellst, diese für jeden sichtbar sein werden.