Grundlegende Docker-Befehle: So verwenden Sie sie

DockerDockerBeginner
Jetzt üben

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

Einführung

Docker hat die Softwareentwicklung revolutioniert, indem es eine leistungsstarke Plattform für die Containerisierung bietet. Dieses umfassende Tutorial führt Sie durch die grundlegenden Docker-Befehle und hilft Entwicklern und Systemadministratoren, Docker-Container, -Images und -Netzwerke effizient zu verwalten. Ob Sie ein Anfänger sind oder Ihre Docker-Kenntnisse auffrischen möchten, dieser Leitfaden bietet praktische Einblicke in die Verwendung der Docker-Befehlszeilenschnittstelle.

Docker-Kernkonzepte

Was ist Docker?

Docker ist eine Open-Source-Plattform, die die Automatisierung der Anwendungsbereitstellung, Skalierung und Verwaltung durch Containerisierung ermöglicht. Entwickler können Anwendungen mit allen Abhängigkeiten in standardisierte Einheiten, sogenannte Container, verpacken, die in verschiedenen Computing-Umgebungen konsistent ausgeführt werden können.

Wichtige Docker-Konzepte

1. Container

Container sind leichte, eigenständige, ausführbare Pakete, die alles enthalten, was zum Ausführen einer Anwendung benötigt wird:

  • Code
  • Laufzeitumgebung
  • Systemtools
  • Systembibliotheken
  • Einstellungen
graph LR A[Anwendungskode] --> B[Container] C[Abhängigkeiten] --> B D[Systembibliotheken] --> B E[Konfiguration] --> B

2. Images

Docker-Images sind schreibgeschützte Vorlagen, die zum Erstellen von Containern verwendet werden. Sie dienen als Blaupausen für die Containererstellung und können in Registern wie Docker Hub gespeichert werden.

3. Dockerfile

Ein Dockerfile ist eine Textdatei, die Anweisungen zum Erstellen eines Docker-Images enthält. Es definiert die Umgebung, Abhängigkeiten und Konfiguration für eine Anwendung.

Beispiel Dockerfile:

FROM ubuntu:22.04
RUN apt-get update
RUN apt-get install -y python3
COPY . /app
WORKDIR /app
CMD ["python3", "app.py"]

4. Docker-Architektur

graph TB A[Docker Client] --> B[Docker Daemon] B --> C[Container Runtime] B --> D[Image Registry] B --> E[Image Storage]

5. Container vs. virtuelle Maschinen

Merkmal Container Virtuelle Maschinen
Ressourcenverbrauch Leichtgewichtig Schwer
Startzeit Sekunden Minuten
Isolierungsebene Prozessebene Vollständige Betriebssystem-Ebene
Leistung Hoch Gering

Vorteile von Docker

  1. Konsistenz über verschiedene Umgebungen hinweg
  2. Schnellere Bereitstellung
  3. Verbesserte Skalierbarkeit
  4. Bessere Ressourcenauslastung
  5. Vereinfachte Abhängigkeitsverwaltung

Anwendungsfälle

  • Microservices-Architektur
  • Continuous Integration/Continuous Deployment (CI/CD)
  • Cloud-native Anwendungsentwicklung
  • Vereinfachte Anwendungstests

Erste Schritte mit LabEx

LabEx bietet interaktive Docker-Lernumgebungen, die Entwicklern helfen, Containerisierungstechnologien schnell zu verstehen und zu üben.

Docker Installationsanleitung

Voraussetzungen

Bevor Sie Docker installieren, stellen Sie sicher, dass Ihr Ubuntu 22.04-System die folgenden Anforderungen erfüllt:

  • 64-Bit-Betriebssystem
  • Kernelversion 3.10 oder höher
  • Ausreichende Systemressourcen

Installationsmethoden

1. Installation über das Repository

Schritt 1: Aktualisierung des Paketindex
sudo apt-get update
Schritt 2: Installation der benötigten Pakete
sudo apt update
sudo apt-get install ca-certificates curl gnupg lsb-release
Schritt 3: Hinzufügen des offiziellen Docker GPG-Schlüssels
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Schritt 4: Einrichten des Docker Repositorys
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Schritt 5: Installation der Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

2. Installation überprüfen

sudo docker --version
sudo docker run hello-world

Installationsablauf

graph TD A[System aktualisieren] --> B[Abhängigkeiten installieren] B --> C[GPG-Schlüssel hinzufügen] C --> D[Repository konfigurieren] D --> E[Docker installieren] E --> F[Installation überprüfen]

Schritte nach der Installation

1. Docker als Nicht-Root-Benutzer verwalten

sudo usermod -aG docker $USER
newgrp docker

2. Docker beim Systemstart starten konfigurieren

sudo systemctl enable docker
sudo systemctl start docker

Docker Installationsoptionen

Methode Vorteile Nachteile
Repository Einfache Updates Internetverbindung erforderlich
Offizielles Paket Direkte Kontrolle Manuelle Updates
Skriptinstallation Schnelle Einrichtung Weniger sicher

Fehlerbehebung bei häufigen Problemen

  • Systemkompatibilität prüfen
  • Netzwerkverbindung überprüfen
  • Ausreichenden Speicherplatz gewährleisten
  • Systempakete regelmäßig aktualisieren

LabEx Docker Lernumgebung

LabEx bietet interaktive Docker Installations-Tutorials und praktische Übungsumgebungen, um Entwicklern zu helfen, Containerisierungstechnologien schnell und effektiv zu meistern.

Empfohlene Systemanforderungen

Komponente Mindestanforderung
CPU 2 Kerne
RAM 4 GB
Festplattenspeicher 20 GB
Betriebssystem Ubuntu 22.04 LTS

Grundlegende Docker-Befehle

Docker-Befehlsstruktur

Docker-Befehle folgen einer Standardsyntax:

docker [Befehl] [Optionen] [Argumente]

Befehle zur Imageverwaltung

1. Images ziehen

docker pull ubuntu:latest
docker pull nginx:alpine

2. Images auflisten

docker images
docker image ls

3. Images löschen

docker rmi ubuntu:latest
docker image rm nginx:alpine

Befehle zur Containerverwaltung

1. Container erstellen und starten

docker run -d --name web-server nginx
docker run -it ubuntu:latest /bin/bash

2. Container auflisten

docker ps    ## Laufende Container
docker ps -a ## Alle Container

3. Container starten, stoppen und neu starten

docker start web-server
docker stop web-server
docker restart web-server

4. Container löschen

docker rm web-server
docker container prune ## Löscht alle gestoppten Container

Befehle zur Containerinteraktion

1. Befehle im Container ausführen

docker exec -it web-server bash
docker exec web-server ls /var/www/html

2. Container-Logs anzeigen

docker logs web-server
docker logs -f web-server ## Logausgabe verfolgen

Docker-Workflow

graph TD A[Image ziehen] --> B[Container erstellen] B --> C[Container starten] C --> D[Interaktion/Ausführen] D --> E[Container stoppen] E --> F[Container löschen]

Erweiterte Docker-Befehle

1. Benutzerdefinierte Images erstellen

docker build -t myapp:v1 .

2. Docker Volumes

docker volume create myvolume
docker run -v myvolume:/app nginx

3. Netzwerkverwaltung

docker network create mynetwork
docker run --network mynetwork nginx

Häufige Docker-Befehlskategorien

Kategorie Zweck Beispielbefehle
Imageverwaltung Docker-Images verwalten pull, push, build
Containerverwaltung Container steuern run, start, stop
Systemverwaltung Docker-Systeminformationen info, version
Netzwerkverwaltung Netzwerke verwalten network create
Volumeverwaltung Persistent Daten verwalten volume create

Best Practices

  • Verwenden Sie spezifische Image-Tags.
  • Löschen Sie nicht benötigte Ressourcen.
  • Verwenden Sie Docker Compose für komplexe Umgebungen.
  • Implementieren Sie mehrstufige Builds.

LabEx Docker-Lernen

LabEx bietet interaktive Umgebungen, um diese Docker-Befehle zu üben und Entwicklern so effizient praktische Containerisierungskompetenzen zu vermitteln.

Nützliche Docker-Befehlsoptionen

Option Beschreibung Beispiel
-d Abgekoppelter Modus docker run -d nginx
-it Interaktives Terminal docker run -it ubuntu
--name Container benennen docker run --name web nginx
-p Port-Mapping docker run -p 8080:80 nginx

Zusammenfassung

Mit dem Erlernen dieser grundlegenden Docker-Befehle haben Sie wesentliche Fähigkeiten zur Containerverwaltung und -bereitstellung erworben. Docker bietet eine robuste Lösung für die Erstellung, Ausführung und Verwaltung von Containern in verschiedenen Umgebungen. Wenn Sie die Möglichkeiten von Docker weiter erkunden, denken Sie daran, dass diese grundlegenden Befehle die Grundlage effizienter Containerisierungsstrategien bilden. Üben und experimentieren Sie mit diesen Befehlen, um in der Docker-Technologie versiert zu werden und Ihre Entwicklungsworkflows zu optimieren.