9.1 Wiederholtes Kennenlernen mit Docker Hub
Lass uns Docker Hub etwas näher kennenlernen. Zur Erinnerung: Das ist das Haupt-Repository von Docker, wo Nutzer Container-Images speichern, teilen und finden können. Die Plattform bietet Zugriff auf Millionen von Containern, die sowohl von offiziellen Organisationen als auch von der Community erstellt wurden. In dieser Vorlesung schauen wir uns an, wie man effektiv nach fertigen Images sucht und diese von Docker Hub herunterlädt.
Hauptaufgaben des Docker Hub Services
Docker Hub ist ein Cloud-Service, der es ermöglicht, Images in einem zentralen Speicher hochzuladen und von dort abzurufen. Der Service ist eine Plattform, auf der Entwickler ihre Images teilen und Lösungen nutzen können, die andere erstellt haben. Die Hauptfunktionen von Docker Hub umfassen:
- Öffentliche und private Repositories: Möglichkeit, Images sowohl öffentlich für alle als auch mit beschränktem Zugriff für bestimmte Nutzer zu speichern.
- Automatische Builds (automated builds): Integration mit Versionskontrollsystemen wie GitHub, um Images automatisch bei jeder Codeänderung zu erstellen.
- Webhooks: Einrichtung automatischer Aktionen, die bei Updates von Images ausgeführt werden.
9.2 Suche nach fertigen Images
1. Verwendung der Web-Oberfläche von Docker Hub
- Gehe zur Docker Hub-Website: Öffne Docker Hub in deinem Browser.
- Suche nach Images: Gib den Namen eines Images oder Schlüsselwörter, die mit deinem Projekt zu tun haben, in die Suchleiste ein. Zum Beispiel, um nach einem Nginx-Image zu suchen, gib "nginx" ein und drücke Enter.
- Suchergebnisse ansehen: In den Suchergebnissen werden passende Images angezeigt. Offizielle Images sind als "Official" gekennzeichnet und werden von Docker oder den jeweiligen Organisationen unterstützt. Images von anderen Usern haben die Angabe des Usernamens oder der Organisation.
- Wähle ein Image: Klicke auf das Image, das dich interessiert, um die Beschreibung, verfügbare Tags, Nutzungshinweise und weitere nützliche Informationen zu sehen.
2. Suche nach Images über die Kommandozeile
Docker erlaubt es auch, Images direkt über die Kommandozeile mit dem Befehl docker search
zu suchen.
Beispielbefehl:
docker search nginx
Dieser Befehl zeigt eine Liste von Images an, die nginx
im Namen oder in der Beschreibung enthalten. Die Ausgabe zeigt den Namen des Images, die Beschreibung, die Anzahl der Sterne (Bewertung), die Markierung für den offiziellen Status und Informationen zu automatischen Builds.
Beispielausgabe:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 13764 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for... 2135 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM... 819 [OK]
9.3 Images herunterladen
Nachdem du das gewünschte Image gefunden hast, kannst du es mit dem Befehl docker pull
auf deinen lokalen Rechner herunterladen.
1. Ein spezifisches Image herunterladen
Um ein bestimmtes Image herunterzuladen, verwende die folgende Syntax:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Wo:
- NAME: der Name des Images.
- TAG: (optional) der Tag des Images. Standardmäßig wird der Tag
latest
verwendet, falls kein anderer angegeben ist. - @DIGEST: (optional) der SHA256-Identifier des Images.
Beispiel für das Herunterladen eines Images:
Dieses Beispiel lädt das neueste nginx
-Image mit dem Tag latest
herunter.
docker pull nginx:latest
2. Ein Image mit einem bestimmten Tag herunterladen
Wenn du ein bestimmtes Tag des Images benötigst, gib es nach dem Doppelpunkt an. Dieses Beispiel lädt das Ubuntu-Image der Version 20.04 herunter.
docker pull ubuntu:20.04
3. Heruntergeladene Images überprüfen
Nachdem du ein Image heruntergeladen hast, kannst du überprüfen, welche Images sich auf deinem lokalen Rechner befinden, indem du den Befehl docker images
ausführst.
Beispielbefehl:
Die Ausgabe des Befehls zeigt eine Liste aller heruntergeladenen Images mit Repository, Tag, Image-ID, Erstellungsdatum und Größe an.
docker images
9.4 Beispiele für die Verwendung von vorgefertigten Images
1. Starten eines Nginx-Webservers
Nach dem Herunterladen des Nginx-Images kannst du schnell einen Container darauf basierend starten.
Beispiel:
Dieses Beispiel startet den Nginx
-Container im Hintergrundmodus und leitet Port 80 des Containers an Port 8080 des Host-Rechners weiter. Jetzt kannst du auf den Webserver Nginx
zugreifen, indem du im Browser http://localhost:8080 eingibst.
docker run -d -p 8080:80 nginx
2. Starten einer MySQL-Datenbank
Docker Hub stellt vorgefertigte Images für Datenbanken wie MySQL bereit, was das Bereitstellen von Datenbanken für Entwicklung und Tests erleichtert.
Beispiel:
Dieses Beispiel startet einen MySQL-Container, setzt ein Passwort für den Benutzer root und leitet Port 3306 des Containers an Port 3306 des Host-Rechners weiter.
docker run -d -p 3306:3306 --name my_mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:latest
3. Verwendung des Redis-Images für Caching
Redis ist ein beliebtes Caching-System, und Docker Hub stellt ein vorgefertigtes Redis-Image bereit, das für eine schnelle Bereitstellung verwendet werden kann.
Beispiel:
Dieses Beispiel startet einen Redis-Container und leitet Port 6379 des Containers an Port 6379 des Host-Rechners weiter.
docker run -d -p 6379:6379 --name my_redis redis:latest
GO TO FULL VERSION