← Zurück zum Blog

„Works on my machine!" – ein Satz, der in jedem Entwicklerteam für Frustration sorgt. Docker macht ihn obsolet. Container garantieren, dass deine Anwendung überall gleich läuft: auf dem Laptop, im CI/CD und in der Produktion.

Was ist ein Container?

Ein Container ist ein isolierter Prozess mit allem was er braucht: Code, Runtime, Libraries, Konfiguration. Er läuft auf dem Host-Betriebssystem, teilt aber den Kernel. Das macht ihn leichter als eine VM – kein komplettes OS nötig.

VM vs. Container: Eine VM emuliert komplette Hardware mit eigenem OS (GB groß, Minuten zum Start). Ein Container teilt den Host-Kernel (MB groß, Sekunden zum Start).

Images und Container: Der Unterschied

Ein Image = die Klasse. Ein Container = das Objekt (die Instanz).

Das erste Dockerfile

Ein Dockerfile beschreibt wie ein Image gebaut wird – Schicht für Schicht:

# Basis-Image
FROM python:3.12-slim

# Arbeitsverzeichnis
WORKDIR /app

# Dependencies zuerst (besseres Caching)
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# App-Code kopieren
COPY . .

# Port freigeben
EXPOSE 8000

# Startbefehl
CMD ["uvicorn", "main:app", "--host", "0.0.0.0"]

Die wichtigsten Docker-Befehle

Docker Compose: Mehrere Services zusammen

Eine Web-App besteht meistens aus mehreren Services: App-Server, Datenbank, Cache. Docker Compose startet sie alle mit einem Befehl:

services:
  app:
    build: .
    ports: ["8000:8000"]
    depends_on: [db]

  db:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: secret

Dann einfach: docker compose up

Best Practices

Fazit

Docker ist heute Standard in der professionellen Softwareentwicklung. Einmal in Docker containerisiert, läuft deine App überall – lokal, in CI/CD, auf jedem Cloud-Anbieter. Wir dockerisieren bestehende Anwendungen und richten vollständige Container-Infrastrukturen ein.

Ihr Projekt umsetzen?

Wir setzen genau das um, was in diesem Artikel beschrieben wird – für Ihr Unternehmen, individuell und zuverlässig.

Kostenlos anfragen →