So erstellen Sie Ihren ersten Docker-Container

DockerDockerBeginner
Jetzt üben

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

Einführung

Docker ist eine leistungsstarke Plattform, die die Softwareentwicklung und -bereitstellung durch Containerisierung revolutioniert. Dieses Tutorial bietet einen umfassenden Leitfaden für Entwickler und IT-Profis, um die Grundlagen von Docker zu verstehen und ihren ersten Container erfolgreich auszuführen, wodurch effiziente und konsistente Anwendungsumgebungen auf verschiedenen Systemen ermöglicht werden.

Docker-Grundlagen

Was ist Docker?

Docker ist eine Open-Source-Plattform, die Entwicklern die Automatisierung der Anwendungsbereitstellung, Skalierung und Verwaltung durch Containerisierung ermöglicht. Sie bietet eine leichte, portable und autarke Umgebung für die Ausführung von Anwendungen.

Kernkonzepte

Container

Container sind leichte, eigenständige, ausführbare Pakete, die alles enthalten, was zum Ausführen einer Anwendung benötigt wird: Code, Laufzeitumgebung, Systemtools, Bibliotheken und Einstellungen.

graph LR A[Anwendungskode] --> B[Container] C[Abhängigkeiten] --> B D[Laufzeitumgebung] --> B

Docker-Images

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

Docker-Architektur

Komponente Beschreibung
Docker Client Befehlszeilenschnittstelle zur Interaktion mit Docker
Docker Daemon Hintergrunddienst zur Verwaltung von Docker-Objekten
Docker Registry Speicher- und Verteilungssystem für Docker-Images

Hauptvorteile

  1. Konsistenz: Gewährleistet identische Umgebungen zwischen Entwicklung und Produktion
  2. Isolierung: Trennt Anwendungen und deren Abhängigkeiten
  3. Effizienz: Leichtgewichtig im Vergleich zu traditionellen virtuellen Maschinen
  4. Skalierbarkeit: Einfache horizontale Skalierung von Anwendungen

Anwendungsfälle

  • Bereitstellung von Microservices
  • Continuous Integration/Continuous Deployment (CI/CD)
  • Cloud-native Anwendungsentwicklung
  • Entwicklungs- und Testumgebungen

Erste Schritte mit LabEx

Für praxisnahes Lernen und praktische Erfahrungen mit Docker bietet LabEx interaktive Umgebungen, um die Containerisierungstechnologien zu meistern.

Docker vs. traditionelle Virtualisierung

graph TD A[Traditionelle Virtualisierung] --> B[Vollständiges Betriebssystem für jede Anwendung] A --> C[Hoher Ressourcenverbrauch] D[Docker-Containerisierung] --> E[Gemeinsamer Betriebssystemkern] D --> F[Leichte Container]

Mit dem Verständnis dieser Grundlagen sind Sie gut vorbereitet, um sich mit Docker zu befassen und seine leistungsstarken Containerisierungsmöglichkeiten zu nutzen.

Einrichtung und Konfiguration

Systemvoraussetzungen

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

  • 64-Bit-Betriebssystem
  • Linux-Kernel 3.10 oder höher
  • Mindestens 2 GB RAM
  • Ausreichend Speicherplatz

Installationsmethoden

Methode 1: Offizielles Docker-Repository

## Paketindex aktualisieren
sudo apt-get update

## Notwendige Pakete installieren
sudo apt-get install ca-certificates curl gnupg lsb-release

## Offiziellen GPG-Schlüssel von Docker hinzufügen
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

## Stabiles Repository einrichten
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

## Docker Engine installieren
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Methode 2: Komfort-Skript

## Docker-Installations-Skript herunterladen und ausführen
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Konfiguration nach der Installation

Benutzergruppenkonfiguration

## Aktuellen Benutzer zur Docker-Gruppe hinzufügen
sudo usermod -aG docker $USER

## Installation überprüfen
docker --version

Docker-Konfigurationsdateien

Dateipfad Zweck
/etc/docker/daemon.json Docker-Daemon-Konfiguration
~/.docker/config.json Benutzer-spezifische Docker-Einstellungen

Docker Compose Installation

## Docker Compose herunterladen
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

## Ausführungsrechte vergeben
sudo chmod +x /usr/local/bin/docker-compose

## Installation überprüfen
docker-compose --version

Verifikationsablauf

graph TD A[Docker installieren] --> B[Benutzer zur Docker-Gruppe hinzufügen] B --> C[Docker-Version überprüfen] C --> D[Testcontainer ausführen] D --> E[Erfolgreiche Einrichtung bestätigen]

Docker-Installation testen

## hello-world Container ausführen
sudo docker run hello-world

LabEx Empfehlung

Für umfassendes Docker-Lernen und praktische Übungen bietet LabEx interaktive Umgebungen, die Sie durch praktische Docker-Konfigurationen und Anwendungsfälle führen.

Häufige Fehlerbehebung

  • Docker-Dienst neu starten: sudo systemctl restart docker
  • Docker-Status überprüfen: sudo systemctl status docker
  • Netzwerkverbindung überprüfen: docker info

Ausführung des ersten Containers

Grundlegende Docker-Befehle

Abrufen eines Images

## Ubuntu-Image von Docker Hub abrufen
docker pull ubuntu:latest

Befehle für den Container-Lebenszyklus

Befehl Beschreibung
docker run Erstellen und Starten eines neuen Containers
docker ps Liste der laufenden Container
docker ps -a Liste aller Container
docker start Einen gestoppten Container starten
docker stop Einen laufenden Container stoppen

Interaktive Container-Ausführung

## Ubuntu-Container interaktiv ausführen
docker run -it ubuntu:latest /bin/bash

Container-Modi

graph LR A[Container-Modi] --> B[Interaktiver Modus] A --> C[Abgekoppelter Modus] A --> D[Vordergrund-Modus] A --> E[Hintergrund-Modus]

Beispiel für den abgekoppelten Modus

## Nginx-Webserver im Hintergrund ausführen
docker run -d -p 80:80 nginx:latest

Portweiterleitung

## Container-Port auf Host-Port weiterleiten
docker run -d -p 8080:80 nginx:latest

Volume-Mount

## Host-Verzeichnis in Container mounten
docker run -v /host/path:/container/path ubuntu:latest

Umgebungsvariablen

## Umgebungsvariablen setzen
docker run -e MYSQL_ROOT_PASSWORD=secret mysql:latest

Container-Verwaltung

## Einen Container entfernen
docker rm container_name

## Alle gestoppten Container entfernen
docker container prune

Erweiterte Container-Operationen

Container inspizieren

## Containerdetails anzeigen
docker inspect container_name

## Container-Logs anzeigen
docker logs container_name

Best Practices

  1. Verwenden Sie offizielle Images.
  2. Halten Sie Container leichtgewichtig.
  3. Verwenden Sie spezifische Image-Tags.
  4. Implementieren Sie angemessene Ressourcenlimits.

LabEx Lern-Empfehlung

LabEx bietet umfassende Docker-Container-Management-Tutorials, um praktische Container-Fähigkeiten zu erlernen.

Container-Workflow

graph TD A[Image abrufen] --> B[Container erstellen] B --> C[Container starten] C --> D[Container interagieren/verwenden] D --> E[Container stoppen] E --> F[Container entfernen]

Häufige Szenarien

Szenario Docker-Befehl
Webserver docker run -d -p 80:80 nginx
Datenbank docker run -d mysql:latest
Python-App docker run -it python:3.9

Tipps zur Fehlerbehebung

  • Containerstatus überprüfen: docker ps
  • Container-Logs anzeigen: docker logs
  • Container neu starten: docker restart

Zusammenfassung

Durch die Durchführung dieses Tutorials haben Sie die grundlegenden Schritte zur Einrichtung von Docker, der Konfiguration Ihrer Umgebung und der Ausführung Ihres ersten Containers erlernt. Docker bietet eine robuste Lösung für die Verpackung, Verteilung und Bereitstellung von Anwendungen. Entwickler können damit portable und skalierbare Softwarelösungen mit minimaler Konfiguration und maximaler Konsistenz über verschiedene Computing-Umgebungen hinweg erstellen.