Docker Container auf Ubuntu installieren und ausführen

DockerDockerBeginner
Jetzt üben

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

Einführung

Dieses umfassende Docker-Tutorial bietet Entwicklern und Systemadministratoren essentielles Wissen für die Implementierung von Containertechnologie. Durch die Behandlung grundlegender Docker-Konzepte, Installationsverfahren und praktischer Beispiele erwerben die Lernenden praktische Fähigkeiten in modernen Softwarebereitstellungs- und Virtualisierungstechniken.

Docker-Grundlagen

Einführung in Docker-Grundlagen

Docker ist eine leistungsstarke Containertechnologie, die die Softwarebereitstellung und die Anwendungsvirtualisierung revolutioniert. Sie ermöglicht es Entwicklern, Anwendungen mit allen Abhängigkeiten in standardisierte Einheiten, sogenannte Container, zu verpacken.

Kernkonzepte der Containertechnologie

graph LR A[Docker Image] --> B[Container] B --> C[Anwendungsbereitstellung] B --> D[Isolation]
Konzept Beschreibung
Docker Image Leichtgewichtiges, eigenständiges ausführbares Paket
Container Ausführbare Instanz eines Images
Dockerfile Skript zur Definition der Imagekonfiguration

Grundlegende Docker-Architektur

Container bieten eine leichte Virtualisierung, indem sie den Kernel des Hostsystems gemeinsam nutzen, während gleichzeitig die Anwendungsisolation gewährleistet ist. Dieser Ansatz unterscheidet sich von traditionellen virtuellen Maschinen.

Installation unter Ubuntu 22.04

## Paketindex aktualisieren
sudo apt update

## Abhängigkeiten installieren
sudo apt install apt-transport-https ca-certificates curl software-properties-common

## Docker GPG-Schlüssel hinzufügen
curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

## Repository einrichten
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg]  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

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

Erstes Docker-Container-Beispiel

## Ubuntu-Image herunterladen
docker pull ubuntu:latest

## Interaktiven Container starten
docker run -it ubuntu:latest /bin/bash

## Innerhalb des Containers
apt update
apt install nginx -y
exit

Docker-Umgebungsaufbau

Vorbereitung von Ubuntu 22.04 für die Docker-Installation

graph LR A[Systemupdate] --> B[Installation der Abhängigkeiten] B --> C[Einrichtung des Docker-Repositorys] C --> D[Installation des Docker-Engines] D --> E[Docker-Konfiguration]

Systemanforderungen

Anforderung Spezifikation
Betriebssystem Ubuntu 22.04 LTS
Architektur 64-Bit
Kernel 5.10+
RAM Mindestens 2 GB

Umfassendes Docker-Installations-Skript

## Aktualisiere Systempakete
sudo apt update && sudo apt upgrade -y

## Entferne eventuell konfliktgebende Pakete
sudo apt remove docker docker-engine docker.io containerd runc

## Installiere benötigte Abhängigkeiten
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release

## Füge den offiziellen Docker GPG-Schlüssel hinzu
curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

## Richte das stabile Repository ein
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg]  $(lsb-release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

## Installiere den Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

## Überprüfe die Installation
sudo docker --version

Konfiguration nach der Installation

## Erstelle die Docker-Benutzergruppe
sudo groupadd docker

## Füge den aktuellen Benutzer zur Docker-Gruppe hinzu
sudo usermod -aG docker $USER

## Aktiviere den Docker-Dienst
sudo systemctl enable docker.service
sudo systemctl start docker.service

## Überprüfe die Docker-Funktionalität
docker run hello-world

Docker Compose Installation

## Lade Docker Compose herunter
sudo curl -L " -s)-$(uname -m)" -o /usr/local/bin/docker-compose

## Gib ausführbare Berechtigungen
sudo chmod +x /usr/local/bin/docker-compose

## Überprüfe die Installation
docker-compose --version

Container-Management

Übersicht über den Container-Lebenszyklus

graph LR A[Image ziehen] --> B[Containererstellung] B --> C[Container starten] C --> D[Container läuft] D --> E[Container stoppen] E --> F[Container entfernen]

Grundlegende Docker-Container-Befehle

Befehl Funktion
docker run Container erstellen und starten
docker ps Laufende Container auflisten
docker stop Laufenden Container stoppen
docker rm Container entfernen
docker exec Befehl im Container ausführen

Containererstellung und -verwaltung

## Ubuntu-Image ziehen
docker pull ubuntu:latest

## Interaktiven Container starten
docker run -it --name my-ubuntu ubuntu:latest /bin/bash

## Alle Container auflisten
docker ps -a

## Angehaltenen Container starten
docker start my-ubuntu

## Laufenden Container stoppen
docker stop my-ubuntu

## Container entfernen
docker rm my-ubuntu

Erweiterte Container-Operationen

## Container im Hintergrund ausführen
docker run -d --name nginx-server nginx:latest

## Containerport auf Hostport mappen
docker run -p 8080:80 -d nginx:latest

## Containerdetails anzeigen
docker inspect nginx-server

## Container-Logs anzeigen
docker logs nginx-server

## Befehl im laufenden Container ausführen
docker exec -it nginx-server bash

Container-Ressourcenverwaltung

## Containerressourcen begrenzen
docker run -d \
  --name limited-container \
  --cpus="1" \
  --memory="512m" \
  nginx:latest

## Containerressourcenverbrauch überwachen
docker stats

Containernetzwerk-Konfiguration

## Benutzerdefiniertes Netzwerk erstellen
docker network create my-network

## Container in einem bestimmten Netzwerk ausführen
docker run --network=my-network -d nginx:latest

Zusammenfassung

Docker stellt einen revolutionären Ansatz für die Softwarebereitstellung dar. Es bietet leichte, portierbare Container, die die Anwendungsentwicklung und die Infrastrukturverwaltung optimieren. Durch das Verständnis der Kernprinzipien von Docker, der Installationsverfahren und der Containerverwaltungstechniken können Fachkräfte ihre Softwareentwicklungs- und Bereitstellungsfähigkeiten in verschiedenen Computing-Umgebungen deutlich verbessern.