Docker-Meisterschaft im Gelasianischen Grasland

DockerBeginner
Jetzt üben

Einführung

Stellen Sie sich vor, Sie befinden sich im antiken Grasland von Gelasian, wo Wildpferde frei umherstreifen und die Bindung zwischen einem Pferdebändiger und den ungezähmten Tieren überlebenswichtig ist. Ihre Rolle ist die des Wildpferdebändigers, der vor der Herausforderung steht, Docker zu nutzen, um Container in dieser weiten Landschaft effizient zu verwalten.

Beherrschung der Container-Erstellung

In diesem Schritt lernen Sie die Grundlagen der Erstellung und Verwaltung von Docker-Containern, um im wilden Grasland zu überleben.

Aufgaben

  • Erstellen Sie einen Nginx-Container namens mynginx und stellen Sie sicher, dass er erfolgreich läuft.
  • Starten Sie einen Alpine-Container und überprüfen Sie dessen Status.
  • Stellen Sie einen Ubuntu-Container mit einem spezifischen Volume bereit (mounten Sie das Verzeichnis ~/project des Hosts in das Verzeichnis /app des Containers).

Anforderungen

  • Sie müssen alle Operationen innerhalb des Verzeichnisses /home/labex/project durchführen.
  • Verwenden Sie die folgenden Befehle:
    • Zum Erstellen von Containern: docker run
    • Zum Überprüfen des Container-Status: docker ps
    • Zum Einbinden eines Volumes: docker run -v

Beispiel

Nach Abschluss der Aufgaben sollte die Ausgabe von docker ps die laufenden Container anzeigen, einschließlich relevanter Informationen wie Container-ID, Image und Status.

labex:~/ $ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
1983f85f03d4   ubuntu    "sleep 3600"             22 seconds ago   Up 21 seconds             ubuntu_container
4231996cae33   alpine    "sleep 3600"             2 minutes ago    Up 2 minutes              alpine_container
519eadd3ced5   nginx     "/docker-entrypoint.…"   2 minutes ago    Up 2 minutes    80/tcp    mynginx

Container-Netzwerke und Kommunikation

In diesem Schritt tauchen Sie in die Welt der Container-Netzwerke und -Kommunikation ein, um eine nahtlose Konnektivität im gesamten Grasland zu etablieren.

Aufgaben

  • Erstellen Sie ein benutzerdefiniertes Netzwerk namens mynetwork für die Container.
  • Stellen Sie einen Alpine-Container namens myalpine in diesem benutzerdefinierten Netzwerk bereit und stellen Sie sicher, dass er mit anderen Containern namens mypython (basierend auf dem Python-Image) im selben Netzwerk kommunizieren kann.

Anforderungen

  • Alle Operationen müssen innerhalb des Verzeichnisses /home/labex/project bleiben.
  • Verwenden Sie die folgenden Befehle:
    • Zum Erstellen eines benutzerdefinierten Netzwerks: docker network create
    • Zum Verbinden von Containern mit einem Netzwerk: docker network connect

Beispiel

Nach Abschluss der Aufgaben sollte das benutzerdefinierte Netzwerk beim Ausführen von docker network ls sichtbar sein, und der Python-Container sollte erfolgreich mit anderen Containern innerhalb des Netzwerks kommunizieren können.

Netzwerk anzeigen:

labex:~/ $ docker network ls
NETWORK ID     NAME        DRIVER    SCOPE
1a367e6cc4e5   bridge      bridge    local
91199fc6ad2e   host        host      local
32e2857073a9   minikube    bridge    local
92d3b71b7efd   mynetwork   bridge    local
1078d2c781b6   none        null      local

Verbindung der Container mittels ping prüfen:

labex:~/ $ docker exec myalpine ping mypython
PING mypython (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.153 ms
64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.072 ms
64 bytes from 172.18.0.3: seq=2 ttl=64 time=0.069 ms

Zusammenfassung

In dieser Challenge schlüpfen Sie in die Rolle eines Wildpferdebändigers im antiken Grasland und meistern die Kunst der Verwaltung von Docker-Containern. Durch das Absolvieren der Aufgaben und das Verständnis der Lösungen erwerben Sie grundlegende Fähigkeiten in der Verwaltung und Vernetzung von Docker-Containern, die für das Überleben in der ungezähmten Welt von Docker unerlässlich sind.

✨ Lösung prüfen und üben✨ Lösung prüfen und üben