Docker Run-Befehl: Einsteiger-Guide

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem umfassenden Leitfaden untersuchen wir den essentiellen Docker-Befehl docker run, die Grundlage für die Verwaltung und Ausführung von Docker-Containern. Ob Sie neu bei Docker sind oder Ihr Verständnis vertiefen möchten, dieses Tutorial vermittelt Ihnen die Kenntnisse und Fähigkeiten, um den Befehl docker run effektiv zu nutzen und das volle Potenzial von Docker-Containern zu erschließen.

Einführung in Docker-Container

Docker ist eine beliebte Containerisierungsplattform, die es Entwicklern ermöglicht, ihre Anwendungen und Abhängigkeiten in selbst enthaltene Einheiten, sogenannte Container, zu verpacken. Diese Container lassen sich einfach in verschiedenen Umgebungen bereitstellen, skalieren und verwalten, was ein konsistentes und zuverlässiges Anwendungsverhalten sicherstellt.

Was sind Docker-Container?

Docker-Container sind leichte, eigenständige und ausführbare Softwarepakete, die alles enthalten, was zum Ausführen einer Anwendung benötigt wird, einschließlich Code, Laufzeitumgebung, Systemtools und Bibliotheken. Container isolieren Anwendungen vom zugrunde liegenden Hostsystem und bieten eine konsistente und vorhersehbare Umgebung für den Anwendungsbetrieb.

Vorteile von Docker-Containern

  • Portabilität: Docker-Container lassen sich einfach zwischen verschiedenen Computernumgebungen verschieben, was ein konsistentes Anwendungsverhalten sicherstellt.
  • Skalierbarkeit: Container können schnell skaliert werden, um den sich ändernden Anforderungen der Anwendung gerecht zu werden.
  • Effizienz: Container teilen das Betriebssystem des Hosts, wodurch der Overhead im Vergleich zu traditionellen virtuellen Maschinen reduziert wird.
  • Konsistenz: Container stellen sicher, dass Anwendungen unabhängig von der zugrunde liegenden Infrastruktur auf dieselbe Weise ausgeführt werden.

Docker-Architektur

Docker verwendet eine Client-Server-Architektur, bei der der Docker-Client mit dem Docker-Daemon kommuniziert, der für das Erstellen, Ausführen und Verwalten von Docker-Containern zuständig ist.

graph LR A[Docker Client] -- API --> B[Docker Daemon] B -- Containers --> C[Docker Images] B -- Volumes --> D[Docker Volumes] B -- Networks --> E[Docker Networks]

Erste Schritte mit Docker

Um mit Docker zu beginnen, müssen Sie die Docker-Engine auf Ihrem System installieren. Sie können Docker von der offiziellen Docker-Website (https://www.docker.com/get-started) herunterladen und installieren. Nach der Installation können Sie die Docker-Befehlszeile verwenden, um mit dem Docker-Daemon zu interagieren und Ihre Container zu verwalten.

Erste Schritte mit dem Docker Run-Befehl

Der Befehl docker run ist die primäre Methode zum Starten und Verwalten von Containern in Docker. Mit diesem Befehl können Sie einen neuen Container aus einem Docker-Image erstellen und ausführen.

Basis-Docker Run-Befehl

Die grundlegende Syntax für den docker run-Befehl lautet:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Hier ist ein Beispiel für die Ausführung eines einfachen Nginx-Webserver-Containers:

docker run -d -p 80:80 --name my-nginx nginx:latest

Dieser Befehl:

  • -d: führt den Container im detachierten Modus (im Hintergrund) aus
  • -p 80:80: ordnet den Hostport 80 dem Containerport 80 zu
  • --name my-nginx: weist dem Container den Namen "my-nginx" zu
  • nginx:latest: gibt das zu verwendende Docker-Image an (die neueste Version von Nginx)

Erkunden des laufenden Containers

Nach der Ausführung des Containers können Sie die folgenden Befehle verwenden, um mit ihm zu interagieren:

  • docker ps: listet alle laufenden Container auf
  • docker logs my-nginx: zeigt die Logs des Containers "my-nginx" an
  • docker exec -it my-nginx bash: öffnet eine Bash-Shell innerhalb des laufenden Containers "my-nginx"

Beenden und Löschen von Containern

Um einen laufenden Container zu stoppen, verwenden Sie den Befehl docker stop:

docker stop my-nginx

Um einen gestoppten Container zu entfernen, verwenden Sie den Befehl docker rm:

docker rm my-nginx

Durch das Verständnis des grundlegenden docker run-Befehls und der Containerverwaltung können Sie beginnen, Ihre eigenen Anwendungen mit Docker zu erstellen und bereitzustellen.

Erweiterte Docker Run-Befehle

Während der grundlegende docker run-Befehl für viele Anwendungsfälle ausreichend ist, bietet Docker eine breite Palette an Optionen, um das Verhalten Ihrer Container anzupassen und zu optimieren. Hier sind einige erweiterte docker run-Befehle und ihre Anwendungsfälle.

Umgebungsvariablen

Sie können Umgebungsvariablen an einen Container übergeben, indem Sie den Flaggen -e oder --env verwenden. Dies ist nützlich, um Anwendungseinstellungen zu konfigurieren oder Verbindungen zu externen Diensten herzustellen.

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mypassword mysql:latest

Volumes mounten

Volumes ermöglichen es Ihnen, Daten außerhalb des Dateisystems des Containers zu speichern. Dies ist besonders wichtig für zustandsbehaftete Anwendungen, die Daten zwischen Containerneustarts beibehalten müssen.

docker run -d -p 80:80 -v /path/on/host:/var/www/html nginx:latest

Netzwerk

Sie können Container mit benutzerdefinierten Netzwerken verbinden, indem Sie die Flagge --network verwenden. Dies ermöglicht es Containern, sicher und effizient miteinander zu kommunizieren.

docker network create my-network
docker run -d --network my-network --name db mysql:latest
docker run -d --network my-network --name web nginx:latest

Ressourcenbeschränkungen

Sie können die verfügbaren Ressourcen (CPU, Speicher usw.) für einen Container mithilfe verschiedener Flags wie --cpus, --memory und --memory-swap begrenzen.

docker run -d --cpus=2 --memory=4g nginx:latest

Healthchecks

Die Flagge --health-cmd ermöglicht es Ihnen, einen Befehl zum Überprüfen des Zustands eines laufenden Containers anzugeben. Dies ist nützlich, um den Status Ihrer Anwendungen zu überwachen.

docker run -d --health-cmd="curl -f http://localhost || exit 1" nginx:latest

Durch das Verständnis dieser erweiterten docker run-Befehle können Sie komplexere und ausgereiftere Docker-basierte Anwendungen erstellen, die Ihren spezifischen Anforderungen entsprechen.

Zusammenfassung

Am Ende dieses Leitfadens verfügen Sie über ein fundiertes Verständnis des Docker run-Befehls und seiner erweiterten Funktionen. Sie werden in der Lage sein, Docker-Container sicher zu erstellen, zu verwalten und an Ihre spezifischen Bedürfnisse anzupassen. Tauchen Sie ein und erschließen Sie die Leistungsfähigkeit des Docker run-Befehls, um Ihre Entwicklungs- und Bereitstellungsprozesse zu optimieren.