Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Alles, was Sie über Docker Hub wissen sollten

Docker Hub
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Informieren wir uns über Docker Hub.

In diesem Tutorial erfahren Sie heute mehr über Docker Hub, einschließlich der Verwendung, der Erstellung eines eigenen Images und der Unterstützung beim Veröffentlichen und Abrufen von Bildern von und zu Docker-Hub. Außerdem werden wir einige Zeit damit verbringen, einige der beliebten Repositories auf Docker Hub zu erkunden.

Voraussetzungen:

Sie benötigen eine grundlegende Verständnis von Docker, vertraut mit Windows- und Linux-Umgebung. In diesem Lernprogramm 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 von herunterladen und installieren hierund Linux-Benutzer folgen diesem Link.

What is Docker Hub?

Docker Hub ist ein Repository-Registrierungsdienst von Docker Inc.

Es ermöglicht uns, Docker-Images zum und vom 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 handelt sich um ein Cloud-basiertes Online-Repository, in dem beide Arten von Repositorys gespeichert sind, dh das öffentliche Repository sowie das private Repository. Öffentliche Repositories sind für alle zugänglich, das private jedoch für den betroffenen Eigentümer der Repositories. Außerdem sind damit Kosten verbunden, wenn wir mehr als eine bestimmte Anzahl von Repositorys als Privatspeicher speichern.

Docker Hub Features

Docker Hub bietet die folgenden Funktionen.

# 1. Bildspeicher

Es hilft uns beim Auffinden und Abrufen von Containerbildern von Docker Hub.

Es hilft uns auch dabei, Bilder als öffentliches oder privates Repository in den Docker Hub zu übertragen.

# 2. Team und Organisationen

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

#3. GitHub- und Bitbucket-Integration

Es ermöglicht die Integration in Quellcode-Repositorys wie z GitHub und BitBucket.

# 4. Automatisierte Builds

Wenn Änderungen am Quellcode in Quellcode-Repositorys übertragen wurden, werden Container-Images von GitHub oder BitBucket automatisch erkannt, erstellt und an Docker Hub gesendet.

# 5. Webhooks

Sobald wir unsere Bilder mithilfe eines Webhooks erfolgreich gepusht haben, wird eine Aktion zur Integration von Docker Hub in andere Dienste ausgelöst.

# 6. Offizielle und Publisher-Bilder

Die von Dockern bereitgestellten qualitativ hochwertigen Bilder gelten als offizielle Bilder und können gezogen und verwendet werden. In ähnlicher Weise sind qualitativ hochwertige Bilder, die von externen Anbietern bereitgestellt werden, Publisher-Bilder, auch zertifizierte Bilder genannt, die Unterstützung und Kompatibilitätsgarantie für Docker Enterprise bieten. Wir werden später in diesem Artikel weitere zertifizierte Bilder diskutieren.

Creating First Repository

Für diesen Schritt müssen Sie sich bei der anmelden Docker-Hub Verwenden Sie Ihre Anmeldeinformationen. Wenn Sie noch kein Konto haben, können Sie es bereits erstellen, indem Sie auf der Webseite auf die Schaltfläche Anmelden klicken. Sobald Sie sich angemeldet haben, können Sie das Repository erstellen, indem Sie auf klicken Repository erstellen auf der Begrüßungsseite.

  • Sobald Sie auf Repository erstellen geklickt haben, werden Sie nach einem Namen gefragt. Geben Sie Ihrem Repository einen Namen.
Mein erstes Repository
  • Wählen Sie eine Sichtbarkeitsoption aus öffentlich oder privat.

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

  • Wenn alles erledigt ist, klicken Sie auf Erstellen.

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

Erstes Repository erstellen

Docker Hub bietet uns nur ein privates Repository kostenlos an. Wenn wir jedoch mehr private Repositorys benötigen, können wir unser Konto auf einen kostenpflichtigen Plan aktualisieren.

Ö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

Exploring the images

Es gibt zwei Möglichkeiten, öffentliche Repositorys und Bilder von Docker Hub aus zu durchsuchen: Sie können sie entweder von der Docker Hub-Website aus 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
Docker-Suchbefehl

Downloading an image

Wir können ein Bild vom Docker Hub-Befehl mit herunterladen pull Befehl wie folgt

# docker pull mysql

Wenn wir schon haben mysql Bild auf unserem Computer, dann aktualisiert der obige Befehl das Bild automatisch auf die neueste Version. Eine Sache, die Sie hier beachten sollten, ist, dass, wenn wir die Ausgabe unseres Docker-Suchbefehls bemerken, viele Bilder von MySQL auf Docker Hub vorhanden sind, und das liegt daran, dass jeder ein Bild pushen kann. Aber es hängt von uns ab, welche wir basierend auf unserem Anwendungsfall verwenden sollen, und wir müssen die geeignete käsen.

Angenommen, wir möchten ein Bitnami / MySQL-Bild ziehen.

# docker pull bitnami/mysql

Creating an image

Dieser Prozess erfordert eine Docker-Datei. Wir können denken a Dockerfile als Bedienungsanleitung, die dem Docker sagt, was er zusammenbauen soll. Kurz gesagt, es handelt sich um eine Konfigurationsdatei, die die Assemblierungsanweisungen enthält, die wir zusammenstellen sollen.

Wie funktioniert es?

Docker liest die Anweisung aus einer Docker-Datei und erstellt automatisch Bilder. Das Docker-Image ist ein mehrschichtiges Dateisystem und besteht aus mehreren schreibgeschützten Ebenen. Jede Ebene eines Docker-Images repräsentiert Anweisungen einer Docker-Datei. Führen Sie die folgenden Schritte aus, um mit Dockerfile ein Bild zu erstellen.

Erstellen Sie eine Docker-Datei, die unsere Anwendungskonfiguration angibt.

# sudo vim Dockerfile

Hinweis - Der Name der Datei sollte lauten Dockerfile mit einem Kapital “D".

FROM ubuntu:16.04
MAINTAINER someuser@somedomain.com
RUN apt-get update
RUN apt-get install –y mysql
CMD echo "My first image created."

Schauen wir uns einige der wichtigen Schlüsselwörter an, die in Dockerfile verwendet werden

  • Wir verwenden # Symbole, um einen Kommentar in eine Docker-Datei einzufügen
  • Das "ABDas Schlüsselwort definiert das zu verwendende Basisbild.
  • Das "MAINTAINERDas Schlüsselwort ist die Person, die dieses Image beibehalten wird.
  • Das "RUNDas Schlüsselwort ”wird verwendet, um die für das Bild gegebene Anweisung auszuführen. In unserem Fall aktualisieren Sie zuerst das System und installieren dann MySQL.
  • Das "CMDDas Schlüsselwort ”wird verwendet, um einen Befehl auszuführen, sobald der Container gestartet wurde.
  • Das "COPYMit dem Schlüsselwort ”kann eine Datei von unserem Host-Betriebssystem in den Docker-Container kopiert werden.
  • Das Schlüsselwort "EXPOSE" wird verwendet, um die Portnummer anzugeben, unter 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 lautet 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 sehen wie:

Erstellen eines Docker-Images

Testen wir nun unser Image, indem wir es über den Befehl run 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. Schließlich wird auch eine Echomeldung angezeigt.

Pushing an image

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

docker push asadali08527/first-repo
Pushin ein Docker-Bild

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

Docker Hub-Screenshot nach dem Verschieben eines Bildes

What is Docker Certified Images?

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

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

Hinweis -

Um unser Image als Docker-zertifiziert zu veröffentlichen, müssen wir zuerst unsere Bilder und das Plugin selbst zertifizieren und testen inspectDockerImage Sobald das Tool erfolgreich zertifiziert und getestet wurde, wird Docker Hub es nach der Einreichung zertifizieren. Wenn unser Inhalt eine nicht zertifizierte Umgebung erfordert, kann er unter keinen Umständen als zertifiziert veröffentlicht werden.

Es gibt viele kuratierte und optimierte Bilder, die auf Docker Hub verfügbar sind.

Die Beliebtheit dieser Bilder hängt von verschiedenen Faktoren ab, wie z. B. Pulls, Marktpräsenz, Bewertungen, Zufriedenheitsbewertungen usw. Eine detaillierte Liste der beliebtesten Repositories finden Sie unter Docker-Hub Webseite. 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, müssen wir die folgenden Schlüsselfaktoren berücksichtigen, bevor wir ein Image ziehen.

  • Suchen Sie mithilfe von Tags nach einer bestimmten Version (meistens die neueste).
  • Wählen Sie die mit maximalen Downloads und Sternen.
  • Überprüfen Sie, ob Aktualisierungen vorliegen (wenn diese zuletzt aktualisiert wurden).
  • Überprüfen Sie nach Möglichkeit den Typ des verifizierten Herausgebers oder den offiziellen (Docker Certified).

Webhooks

Ein Webhook ist ein Web-Rückruf, der mit Ereignissen arbeitet. Auf diese Weise kann eine Anwendung einer anderen Anwendung Echtzeitinformationen bereitstellen. Heutzutage bietet fast jede Anwendung eine Webhook-Funktion, sodass Docker Hub auch über diese Funktion verfügt.

Es handelt sich um eine HTTP-Push-API, die durch vom Benutzer festgelegte Ereignisse 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 beim Hochladen neuer Bilder Testanwendungen zum Ausführen der unterstrichenen Testfälle ausgelöst werden.

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

Fazit

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

Wenn nicht bereits, überprüfen Sie dies Docker-Installationsanleitung.

Danke an unsere Sponsoren
Weitere großartige Lektüre zu DevOps
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder