Docker 2024 04/Containers

Aus CCWiki
Zur Navigation springen Zur Suche springen

Im folgenden soll das starten und erstellen von Images erlernt werden.

Beispiel 1): Erster Container start

docker run --name ubuntu --rm -it ubuntu:22.04 bash

Es öffnet sich nun ein Terminal im Container.

ps

Zeigt sehr anschaulich die Prozessisolierung.

PID TTY          TIME CMD
      1 pts/0    00:00:00 bash
      9 pts/0    00:00:00 ps

Wird der das Ausgeführte Programm, in diesem Fall bash mit exit geschlossen, so wird auch der Container beendet und durch den Parameter --rm auch entfernt.

Parameter

  • docker run
    • Startet Container
  • --name ubuntu
    • Legt den Container Name fest, ansonsten wird ein sonderbarer Name generiert
  • --rm
    • Löscht den Container nach dem dieser geschlossen wird. Ansonsten bleibt dieser erhalten (im Status Exited)
  • -it
    • Standard Input offen halten und Pseudo TTY erstellen (Terminal)
  • ubuntu:22.04
    • Name des Images das gestartet werden soll
  • bash
    • Kommando das ausgeführt werden soll

Wichtige Befehle

Zu folgenden Befehlen sei angemerkt, dass diese alle --help unterstützen. Die Liste ist in keinster Weise vollständig docker --help.

  • docker run
    • Container erstellen
  • docker start
    • Gestoppten Container starten
  • docker exec
    • Befehl in Container ausführen
  • docker cp
    • Dateien in einen, oder von einem Container kopieren
  • docker volume
    • Verwalten von Volumes
  • docker ps
    • Anzeigen von Containern
  • docker stats
    • Statistiken zu Containern anzeigen
  • docker container
    • Verwalten von Containern
  • docker network
    • Verwalten von Netzwerken
  • docker build
    • Erstellen von images

Beispiel 2): Mit Container verbinden

Starten des vorhergehenden Images im detached mode, -d. Der Befehl bash benötigt -it, da er sonst beendet wird wie auch der Container selbst.

#Starten
docker run --name ubuntu -it -d --rm ubuntu:22.04 bash
#Container anzeigen -a, auch gestoppte
docker ps -a
CONTAINER ID   IMAGE                 COMMAND                  CREATED         STATUS        PORTS                                                                                  NAMES
3d2986a44d6f   ubuntu:22.04          "bash"                   2 seconds ago   Up 1 second                                                                                          ubuntu
#Erneut mit Container verbinden
docker attach ubuntu
#Bash im Container schließen, beendet auch den Container
exit

Beispiel 3): Befehl in Container ausführen

Starten des vorhergehenden Images im detached mode.

#Starten
docker run --name ubuntu -it -d --rm ubuntu:22.04 bash
#Befehl ausführen, listet alle Dateien im Arbeitsverzeichnis des Containers
docker exec ubuntu ls -la

Beispiel 4): Container starten/stoppen und entfernen

Starten des vorhergehenden Images im detached mode. --rm wird explizit weggelassen. Mit {{|docker ps -a}} kann jeder Schritt geprüft werden.

#Starten
docker run --name ubuntu -it -d ubuntu:22.04 bash
#Container stoppen
docker container stop ubuntu
#Container starten
docker container start ubuntu
#Container erneut stoppen
docker container stop ubuntu
#Container entfernen
docker container rm ubuntu