Loading...

Wie man docker run verwendet

Jonas Scholz - Co-Founder von sliplane.ioJonas Scholz
5 min

Lass uns über den docker run Befehl sprechen, ein grundlegendes Tool zum Erstellen und Ausführen von Docker-Containern. Dieser Befehl ist unkompliziert, bietet aber zahlreiche Optionen, mit denen Du die Umgebung Deines Containers perfekt an Deine Bedürfnisse anpassen kannst.

Einen Container erstellen und ausführen

Die grundlegende Syntax für docker run ist:

docker run [OPTIONEN] IMAGE [BEFEHL] [ARG...]

Dieser Befehl macht einige wichtige Dinge:

  • Erstellt einen neuen Container aus dem angegebenen Image.
  • Lädt das Image herunter, wenn es noch nicht auf Deinem System ist.
  • Startet den Container und führt den angegebenen Befehl darin aus.

Wenn Du beispielsweise einen einfachen Ubuntu-Container ausführen möchtest, der "Hello, Docker!" ausgibt, könntest Du Folgendes verwenden:

docker run ubuntu echo "Hello, Docker!"

Dieser Befehl lädt das Ubuntu-Image herunter (falls noch nicht vorhanden), erstellt einen neuen Container und führt dann den echo-Befehl im Container aus.

Deinem Container einen Namen geben

Du kannst Deinem Container mit dem Flag --name einen benutzerdefinierten Namen geben. Das macht es einfacher, Deine Container später zu verwalten und auf sie zu verweisen. Zum Beispiel:

docker run --name mein-ubuntu-container ubuntu

Dies startet einen Ubuntu-Container mit dem Namen mein-ubuntu-container. Du kannst diesen Namen dann verwenden, um mit dem Container zu interagieren, zum Beispiel um ihn zu stoppen:

docker stop mein-ubuntu-container

Im Hintergrund ausführen

Wenn Du möchtest, dass Dein Container im Hintergrund läuft, verwende das Flag -d oder --detach. Das ist nützlich für langlebige Dienste. Um beispielsweise einen Nginx-Server im Hintergrund zu starten:

docker run -d --name mein-nginx nginx

Dieser Befehl startet einen Nginx-Container im Hintergrund, so dass Du Dein Terminal weiterhin für andere Aufgaben nutzen kannst.

Ressourcen zuweisen

Du kannst die Ressourcen steuern, die Dein Container verwendet. Um beispielsweise den verfügbaren Speicher für einen Container zu begrenzen, verwende das Flag -m oder --memory:

docker run -m 512m ubuntu

Dies begrenzt den Speicherverbrauch des Containers auf 512 Megabyte.

Umgebungsvariablen setzen

Du kannst Umgebungsvariablen im Container mit dem Flag -e oder --env setzen. Das ist praktisch, um Anwendungen zu konfigurieren, ohne das Image zu verändern. Zum Beispiel:

docker run -e MEINE_VAR=hallo ubuntu echo $MEINE_VAR

Dies setzt eine Umgebungsvariable MEINE_VAR auf hallo und gibt sie dann im Container aus.

Ports freigeben und veröffentlichen

Um die Ports eines Containers vom Host aus zugänglich zu machen, verwende das Flag -p oder --publish. Um beispielsweise Port 80 eines Nginx-Containers auf Port 8080 des Hosts freizugeben:

docker run -p 8080:80 nginx

Dies ordnet Port 8080 auf dem Host dem Port 80 im Container zu.

Volumes mounten

Du kannst Verzeichnisse von Deinem Host in den Container einbinden, indem Du das Flag -v oder --volume verwendest. Das ist nützlich, um Daten dauerhaft zu speichern. Zum Beispiel:

docker run -v /host/pfad:/container/pfad ubuntu

Dies bindet das Verzeichnis /host/pfad auf Deinem Host an /container/pfad im Container.

Aufräumen

Wenn Docker den Container und seine anonymen Volumes automatisch entfernen soll, nachdem er beendet wurde, verwende das Flag --rm:

docker run --rm ubuntu echo "Hello, Docker!"

Dieser Befehl führt den Container aus, gibt die Nachricht aus und räumt danach auf.

Neustart-Richtlinien

Du kannst eine Neustart-Richtlinie für Deinen Container mit dem Flag --restart festlegen. Um beispielsweise sicherzustellen, dass ein Container immer neu gestartet wird, es sei denn, er wird manuell gestoppt:

docker run --restart unless-stopped nginx

Diese Richtlinie sagt Docker, dass der Nginx-Container neu gestartet werden soll, es sei denn, er wird explizit gestoppt.

Interaktiver Modus

Für interaktive Sitzungen verwende das Flag -i oder --interactive zusammen mit dem Flag -t oder --tty, um ein Pseudo-TTY zuzuweisen:

docker run -it ubuntu bash

Dies startet einen Ubuntu-Container und öffnet eine Bash-Shell darin, so dass Du direkt mit dem Container interagieren kannst.

Weitere Optionen

Es gibt noch viele weitere Optionen für docker run, wie zum Beispiel:

  • --add-host zum Hinzufügen von benutzerdefinierten Host-zu-IP-Zuordnungen.
  • --cap-add und --cap-drop zum Hinzufügen oder Entfernen von Linux-Fähigkeiten.
  • --device zum Hinzufügen von Host-Geräten zum Container.
  • --network zum Verbinden des Containers mit einem bestimmten Netzwerk.

Jede dieser Optionen ermöglicht es Dir, die Umgebung und das Verhalten Deines Containers genau anzupassen, was docker run zu einem vielseitigen Werkzeug für die Container-Verwaltung macht.

Willkommen in der Container-Cloud

Sliplane macht es einfach, Container in der Cloud zu deployen und bei Bedarf zu skalieren. Probier es jetzt aus!