🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

Docker Complete Guide 2026: Container, Compose und Best Practices

⏱️2 min read  ·  410 words
Docker Complete Guide 2026: Containers, Compose and Best Practices

Dockerist die Standardmethode zum Erstellen, Versenden und Ausführen von Anwendungen im Jahr 2026. Auf jeder Cloud-Plattform – AWS, GCP, Azure – werden Docker-Container ausgeführt. Dieses Handbuch behandelt Docker von der Erstinstallation bis hin zu Multi-Container-Apps mit Docker Compose.

Installieren Sie Docker

# Ubuntu / Debian
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker

# Verify
docker --version
docker run hello-world

Kernkonzepte

  • Bild:Blaupause für einen Container (schreibgeschützt)
  • Behälter:Laufende Instanz eines Bildes
  • Docker-Datei:Anweisungen zum Erstellen eines Images
  • Registrierung:Speicher für Bilder (Docker Hub, ECR, GCR)

Ihre erste Docker-Datei

# Dockerfile
FROM python:3.12-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

EXPOSE 8000

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

# Build image
docker build -t myapp:latest .

# Run container
docker run -d -p 8000:8000 --name myapp myapp:latest

# View logs
docker logs myapp

# Stop & remove
docker stop myapp && docker rm myapp

Wichtige Docker-Befehle

# List running containers
docker ps

# List all containers (including stopped)
docker ps -a

# List images
docker images

# Execute command inside container
docker exec -it myapp /bin/bash

# Copy file from container
docker cp myapp:/app/output.log ./output.log

# Remove all stopped containers + unused images
docker system prune -af

Docker-Volumes (persistente Daten)

# Named volume — data persists between container restarts
docker run -d \
  -v postgres_data:/var/lib/postgresql/data \
  -e POSTGRES_PASSWORD=secret \
  --name postgres \
  postgres:16

# Bind mount — mount host directory
docker run -d \
  -v $(pwd)/data:/app/data \
  myapp:latest

Docker Compose – Multi-Container-Apps

# docker-compose.yml
services:
  web:
    build: .
    ports:
      - "8000:8000"
    environment:
      - DATABASE_URL=postgresql://postgres:secret@db:5432/mydb
    depends_on:
      - db
    volumes:
      - .:/app

  db:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: secret
      POSTGRES_DB: mydb
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  postgres_data:

# Start all services
docker compose up -d

# View logs
docker compose logs -f

# Stop everything
docker compose down

# Rebuild and restart
docker compose up -d --build

Mehrstufige Builds (kleinere Bilder)

# Stage 1: Build
FROM node:22-alpine AS builder
WORKDIR /app
COPY package*.json .
RUN npm ci
COPY . .
RUN npm run build

# Stage 2: Production (no dev dependencies)
FROM node:22-alpine AS production
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
EXPOSE 3000
CMD ["node", "dist/index.js"]

Fazit

Docker beseitigt das Problem „funktioniert auf meinem Computer“. Lernen Sie die Grundlagen von Dockerfile kennen, beherrschen Sie Docker Compose für lokale Entwickler und Sie werden konsistente Apps ohne Überraschungen vom Laptop in die Cloud übertragen.

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা