Docker-Image und Registrierung

DockerBeginner
Jetzt üben

Einführung

In dieser Herausforderung werden wir mit Docker-Images spielen. Ein Docker-Container-Image ist ein leichtgewichtiges, selbstständiges, ausführbares Softwarepaket, das alles enthält, was erforderlich ist, um eine Anwendung auszuführen: Code, Laufzeitumgebung, Systemtools, Systembibliotheken und Einstellungen.

Docker-Image ändern

Ein Docker-Image enthält einen Imagenamen und ein Imagetag, wobei der Imagename aus der Repository-Adresse und der Image-Identifizierung besteht. In diesem Unterabschnitt werden wir ein von jemand anderem erstelltes Docker-Image in unser Repository pushen.

Ziel

Ihr Ziel ist es, die öffentlichen ubuntu-Images auf dockerhub in Ihr privates Repository zu pushen.

Ergebnisbeispiel

Hier ist ein Beispiel dessen, was Sie am Ende dieser Herausforderung erreichen sollten:

  1. Registrieren Sie sich auf dockerhub und melden Sie sich an.
Dockerhub Registrierungs- und Anmeldescreen
  1. Laden Sie das ubuntu:22.10-Image von docker hub auf unseren lokalen Server herunter.
Ubuntu Docker-Image herunterladen
  1. Ändern Sie das ubuntu:22.10-Image in unsere Repository-Adresse.
Docker-Image-Repository ändern
  1. Melden Sie sich bei docker hub an.
Docker Hub Anmeldescreen
  1. Pusen Sie das Image in das entfernte Repository.
Image in das Repository pushen

Anforderungen

Um diese Herausforderung zu absolvieren, benötigen Sie Folgendes:

  • Die Docker-Engine installiert haben.
  • Kenntnisse der Docker-Befehlszeile.
  • Ein bereits vorhandenes Docker-Image, das aktualisiert werden muss.
✨ Lösung prüfen und üben

Erstelle ein Web-Image

Wir verwenden normalerweise nginx, um statische Anwendungen wie Websites auszuführen. In diesem Abschnitt werden wir unser Web-Image erstellen.

Ziel

Ihr Ziel ist es, ein Docker-Container-Image zu erstellen und eine einfache Webanwendung darin zu verpacken, und dann dieses Image zu verwenden, um den Container zu starten und ihn richtig zugänglich zu machen.

Ergebnisbeispiel

Hier ist ein Beispiel dessen, was Sie am Ende dieser Herausforderung erreichen sollten:

  1. Erstellen Sie in das Verzeichnis /home/labex/Code eine neue Datei namens index.html mit dem Inhalt hello labex.
index.html-Datei erstellen
  1. Erstellen Sie eine neue Datei namens Dockerfile mit dem folgenden Inhalt
Beispiel für den Inhalt von Dockerfile
  1. Erstellen Sie Ihr Web-Image im Format your_dockerhub_id/web:1.1.0.
Docker Web-Image erstellen
  1. Pusen Sie das erstellte Web-Image auf dockerhub.
Web-Image auf DockerHub pushen
  1. Starten Sie einen Container namens web mit your_dockerhub_id/web:1.1.0, und Sie müssen auch Port 80 auf den Host zuweisen.
Docker-Container web starten
  1. Verwenden Sie den curl-Befehl, um http://127.0.0.1 zu besuchen und zu überprüfen, dass die Ausgabe hello labex ist.
Ausgabe des curl-Befehls hello labex

Anforderungen

Um diese Herausforderung zu absolvieren, benötigen Sie Folgendes:

  • Mit Dockerfile bauen
  • Die Basis-Image als Nginx:latest angeben
  • Port 80 im Dockerfile mit dem Befehl EXPOSE freigeben
  • Nachdem der Build abgeschlossen ist, stellen Sie sicher, dass der Container richtig ausgeführt werden kann und auf HTTP-Anfragen reagieren kann.
✨ Lösung prüfen und üben

Multi-Stufen-Image-Build

Das Erstellen eines Container-Images umfasst oft zwei Schritte:

  1. Kompilieren der Anwendungsbuild.
  2. Erstellen des Anwendungsimages.

In diesem Abschnitt werden diese beiden Schritte in eine einzige Docker-Datei kombiniert, um einen mehrstufigen Build zu erreichen.

Um diesen Herausforderungsabschnitt zu absolvieren, haben wir ein Hello World-Projekt unter https://github.com/joker-bai/go-hello-world.git vorbereitet.

Ziel

Ihr Ziel ist es, einen mehrstufigen Build zu verwenden, um ein Container-Image zu erstellen und dieses Image zu verwenden, um einen Container zu starten und ihn richtig zugänglich zu machen.

Ergebnisbeispiel

Hier ist ein Beispiel dessen, was Sie am Ende dieser Herausforderung erreichen sollten:

  1. Erstellen Sie ein Verzeichnis hello-world im Verzeichnis /home/labex/Code.
    Verzeichnis hello-world erstellen

  2. Erstellen Sie in diesem Verzeichnis eine Dockerfile mit dem folgenden Inhalt
    Beispiel für die Erstellung von Dockerfile

  3. Erstellen Sie das Docker-Image im Format your_dockerhub_id/go-hello-world:1.1.0.
    Prozess zum Erstellen des Docker-Images

  4. Pusen Sie das Image auf den Docker Hub.
    Pusen des Docker-Images auf den Hub

  5. Starten Sie einen Container namens go-hello-world und freigeben Sie Port 8080.
    Starten des go hello world-Containers

  6. Besuchen Sie http://127.0.0.1:8080, um zu überprüfen, ob alles in Ordnung ist.
    Überprüfung der HTTP-Antwort des Containers

Anforderungen

Um diese Herausforderung zu absolvieren, benötigen Sie Folgendes:

  • Mit Dockerfile bauen
  • Nachdem der Build abgeschlossen ist, stellen Sie sicher, dass der Container richtig ausgeführt werden kann und auf HTTP-Anfragen reagieren kann.
✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch zur Fertigstellung aller Elemente dieser Herausforderung. Sie haben jetzt die Flexibilität, Anwendungsbilder zu erstellen und zu verwalten.