78 Dokumentationen verfügbar

Wissensdatenbank

Docker Fuer Anfaenger Erklaert

Zuletzt aktualisiert: 09.01.2026 um 18:23 Uhr

Docker für Anfänger: Einfach erklärt

Docker revolutioniert die Softwareentwicklung. Statt "Bei mir funktioniert es!" können Sie Ihre Anwendung samt Umgebung verpacken und überall gleich ausführen. Dieser Guide erklärt die Grundlagen.

Was ist Docker?

Docker ist eine Plattform für Container. Ein Container ist wie eine leichtgewichtige virtuelle Maschine – er enthält alles, was eine Anwendung braucht:

  • Code
  • Laufzeitumgebung (PHP, Node, Python...)
  • Bibliotheken
  • Konfiguration

Container vs. Virtuelle Maschine

Container Virtuelle Maschine
Teilt Host-Kernel Eigener Kernel
Startet in Sekunden Startet in Minuten
MBs groß GBs groß
Wenig RAM-Verbrauch Hoher RAM-Verbrauch

Grundbegriffe

Begriff Erklärung
Image Vorlage/Bauplan für Container (wie eine ISO-Datei)
Container Laufende Instanz eines Images
Dockerfile Rezept zum Erstellen eines Images
Docker Hub Online-Bibliothek für Images
Volume Persistenter Speicher für Container

Docker installieren

Ubuntu/Debian

# Alte Versionen entfernen
sudo apt remove docker docker-engine docker.io containerd runc

# Repository einrichten
sudo apt update
sudo apt install ca-certificates curl gnupg

# Docker GPG Key hinzufügen
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Repository hinzufügen
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

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

# Ohne sudo nutzen
sudo usermod -aG docker $USER

Erste Schritte

Container starten

# Hello World testen
docker run hello-world

# Nginx Webserver starten
docker run -d -p 8080:80 nginx

# Container auflisten
docker ps

# Container stoppen
docker stop CONTAINER_ID

Wichtige Befehle

Befehl Funktion
docker pull IMAGE Image herunterladen
docker run IMAGE Container starten
docker ps Laufende Container anzeigen
docker ps -a Alle Container anzeigen
docker stop ID Container stoppen
docker rm ID Container löschen
docker images Lokale Images anzeigen
docker logs ID Container-Logs anzeigen
docker exec -it ID bash In Container einloggen

Eigenes Dockerfile erstellen

Beispiel: PHP-Anwendung

# Dockerfile
FROM php:8.2-apache

# Erweiterungen installieren
RUN docker-php-ext-install mysqli pdo pdo_mysql

# Projektdateien kopieren
COPY ./src /var/www/html/

# Port freigeben
EXPOSE 80

Image bauen & starten

# Image erstellen
docker build -t meine-app .

# Container starten
docker run -d -p 8080:80 meine-app

Docker Compose

Mit Docker Compose verwalten Sie mehrere Container gleichzeitig:

Beispiel: PHP + MySQL + phpMyAdmin

# docker-compose.yml
version: '3.8'

services:
  web:
    build: .
    ports:
      - "8080:80"
    volumes:
      - ./src:/var/www/html
    depends_on:
      - db

  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: geheim
      MYSQL_DATABASE: app
    volumes:
      - db_data:/var/lib/mysql

  phpmyadmin:
    image: phpmyadmin
    ports:
      - "8081:80"
    environment:
      PMA_HOST: db

volumes:
  db_data:

Compose-Befehle

# Alle Container starten
docker compose up -d

# Logs anzeigen
docker compose logs -f

# Stoppen
docker compose down

# Stoppen + Volumes löschen
docker compose down -v

Praktische Tipps

💡 Best Practices:
  • Ein Prozess pro Container
  • Offizielle Base-Images nutzen
  • Images klein halten (Alpine-Versionen)
  • Sensible Daten in .env-Datei
  • Volumes für persistente Daten

Nützliche Images

Image Zweck
nginx Webserver
php:8.2-apache PHP mit Apache
mysql:8.0 MySQL Datenbank
postgres:15 PostgreSQL
node:20 Node.js
redis:7 Redis Cache

Weitere Informationen