Interaktive Ausführung von Docker-Containern
Die interaktive Ausführung von Docker-Containern ermöglicht es Ihnen, Befehle innerhalb eines laufenden Containers auszuführen, ähnlich wie bei der Interaktion mit einer virtuellen Maschine oder einem Remote-Server. Dies kann für die Fehlerbehebung, Tests oder sogar die Ausführung interaktiver Anwendungen innerhalb des Containers nützlich sein.
Starten eines interaktiven Containers
Um einen interaktiven Container zu starten, können Sie den Befehl docker run
mit den Flags -it
(interaktiv und TTY) verwenden. Beispielsweise, um einen Ubuntu-Container interaktiv zu starten:
docker run -it ubuntu:latest /bin/bash
Dieser Befehl startet einen Ubuntu-Container und verbindet Ihren Terminal mit der Shell des Containers, sodass Sie Befehle innerhalb des Containers ausführen können.
Interaktion mit dem Container
Sobald der Container interaktiv läuft, können Sie verschiedene Befehle innerhalb des Containers ausführen. Beispielsweise:
## Listet die Dateien im Stammverzeichnis des Containers auf
ls -l
## Installiert ein Paket (z. B. nano)
apt-get update && apt-get install -y nano
## Erstellt eine Datei
touch test.txt
## Bearbeitet die Datei
nano test.txt
Sie können auch zwischen dem Container und Ihrem Host-System wechseln, indem Sie die Tastenkombination Strg+P Strg+Q
verwenden. Dadurch trennen Sie sich vom Container, ohne ihn zu stoppen.
Anfügen an einen laufenden Container
Wenn Sie einen Container im abgekoppelten Modus (ohne die Flags -it
) gestartet haben, können Sie sich mithilfe des Befehls docker attach
wieder an ihn anfügen:
docker attach <container_id>
Dies verbindet Ihren Terminal mit dem laufenden Container, sodass Sie mit ihm interagieren können.
Ausführen von Befehlen in einem laufenden Container
Zusätzlich zum Anfügen an einen Container können Sie auch Befehle in einem laufenden Container mithilfe des Befehls docker exec
ausführen. Dies ist nützlich, wenn Sie einen bestimmten Befehl ausführen möchten, ohne sich an die Shell des Containers anzuschließen. Beispiel:
docker exec <container_id> ls -l
Dies führt den Befehl ls -l
im laufenden Container aus.
Durch das Verständnis der interaktiven Ausführung von Docker-Containern können Sie Ihre containerisierten Anwendungen effektiver debuggen, testen und verwalten.