Einführung
Stellen Sie sich vor, Sie befinden sich in den uralten Grasebenen von Gelasian, wo Wildpferde frei umherstreifen und die Bindung zwischen einem Pferdebändiger und den ungezähmten Bestien überlebenswichtig ist. Sie schlüpfen in die Rolle des Wildpferdebändigers, der vor der Herausforderung steht, Docker einzusetzen, um Docker-Container in dieser weiten Landschaft effizient zu verwalten.
Beherrschung der Container-Erstellung
In diesem Schritt erlernen Sie die Grundlagen der Erstellung und Verwaltung von Docker-Containern, um in den wilden Grasebenen zu bestehen.
Aufgaben
- Erstellen Sie einen Nginx-Container mit dem Namen
mynginxund stellen Sie sicher, dass er erfolgreich ausgeführt wird. - Starten Sie einen Alpine-Container und überprüfen Sie dessen Status.
- Stellen Sie einen Ubuntu-Container mit einem spezifischen Volume bereit (mounten Sie das Host-Verzeichnis
~/projectin das Container-Verzeichnis/app).
Anforderungen
- Alle Operationen müssen innerhalb des Verzeichnisses
/home/labex/projectdurchgeführt werden. - 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
- Zum Erstellen von Containern:
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-Vernetzung und Kommunikation
In diesem Schritt tauchen Sie in die Welt der Container-Netzwerke und Kommunikation ein, um eine nahtlose Konnektivität in den Grasebenen herzustellen.
Aufgaben
- Erstellen Sie ein benutzerdefiniertes Netzwerk mit dem Namen
mynetworkfür die Container. - Stellen Sie einen Alpine-Container namens
myalpineim benutzerdefinierten Netzwerk bereit und stellen Sie sicher, dass er mit einem anderen Container namensmypython(basierend auf dem Python-Image) im selben Netzwerk kommunizieren kann.
Anforderungen
- Alle Operationen müssen im Verzeichnis
/home/labex/projectverbleiben. - Verwenden Sie die folgenden Befehle:
- Zum Erstellen eines benutzerdefinierten Netzwerks:
docker network create - Zum Verbinden von Containern mit einem Netzwerk:
docker network connect
- Zum Erstellen eines benutzerdefinierten Netzwerks:
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
Überprüfung der Container-Verbindung mittels ping:
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 Herausforderung haben Sie die Rolle eines Wildpferdebändigers in den uralten Grasebenen übernommen und die Kunst der Verwaltung von Docker-Containern gemeistert. Durch das Abschließen der Aufgaben und das Verständnis der Lösungen haben Sie grundlegende Fähigkeiten im Docker-Container-Management und in der Vernetzung erworben – essenziell, um in der ungezähmten Welt von Docker zu bestehen.



