← Zurück

Docker Befehle

Docker Befehle – Cheatsheet

Schnellreferenz für Docker und Docker Compose.


🐳 Container

Starten & Stoppen

docker run IMAGE                    # Container starten
docker run -d IMAGE                 # Im Hintergrund (detached)
docker run -it IMAGE bash           # Interaktiv mit Shell
docker run --name NAME IMAGE        # Mit Namen
docker run -p 8080:80 IMAGE         # Port-Mapping
docker run -v /host:/container IMG  # Volume einbinden
docker run --rm IMAGE               # Nach Stop löschen

docker start NAME                   # Gestoppten starten
docker stop NAME                    # Stoppen (graceful)
docker restart NAME                 # Neustarten
docker kill NAME                    # Sofort beenden

Verwalten

docker ps                           # Laufende Container
docker ps -a                        # Alle (auch gestoppte)
docker rm NAME                      # Container löschen
docker rm -f NAME                   # Stoppen + Löschen
docker container prune              # Alle gestoppten löschen

Interagieren

docker exec -it NAME bash           # Shell im Container
docker exec NAME befehl             # Befehl ausführen
docker logs NAME                    # Logs anzeigen
docker logs -f NAME                 # Live-Logs
docker logs --tail 100 NAME         # Letzte 100 Zeilen
docker inspect NAME                 # Container-Details
docker stats                        # Ressourcen-Nutzung
docker top NAME                     # Prozesse im Container

📦 Images

docker images                       # Lokale Images
docker pull IMAGE:TAG               # Image laden
docker push IMAGE:TAG               # Image hochladen
docker rmi IMAGE                    # Image löschen
docker image prune                  # Ungenutzte löschen
docker image prune -a               # ALLE ungenutzten

docker build -t NAME .              # Image bauen
docker build -t NAME:TAG .          # Mit Tag
docker tag IMAGE NEUER_NAME         # Umbenennen/Taggen
docker save IMAGE > image.tar       # Als Datei exportieren
docker load < image.tar             # Aus Datei laden

💾 Volumes

docker volume ls                    # Alle Volumes
docker volume create NAME           # Erstellen
docker volume rm NAME               # Löschen
docker volume prune                 # Ungenutzte löschen
docker volume inspect NAME          # Details

# In Container nutzen
docker run -v NAME:/pfad IMAGE      # Benanntes Volume
docker run -v /host:/container IMG  # Bind Mount

🌐 Netzwerke

docker network ls                   # Alle Netzwerke
docker network create NAME          # Erstellen
docker network rm NAME              # Löschen
docker network inspect NAME         # Details

docker network connect NET NAME     # Container verbinden
docker network disconnect NET NAME  # Container trennen

🧹 Aufräumen

docker system df                    # Speichernutzung
docker system prune                 # Ungenutzte Objekte
docker system prune -a              # + alle ungenutzten Images
docker system prune --volumes       # + Volumes

# Einzeln
docker container prune              # Gestoppte Container
docker image prune                  # Ungenutzte Images
docker volume prune                 # Ungenutzte Volumes
docker network prune                # Ungenutzte Netzwerke

🐙 Docker Compose

Grundbefehle

docker-compose up                   # Starten
docker-compose up -d                # Im Hintergrund
docker-compose up --build           # Mit Neu-Build
docker-compose down                 # Stoppen + Entfernen
docker-compose down -v              # + Volumes löschen

docker-compose start                # Gestoppte starten
docker-compose stop                 # Stoppen
docker-compose restart              # Neustarten

Verwalten

docker-compose ps                   # Status
docker-compose logs                 # Alle Logs
docker-compose logs -f              # Live-Logs
docker-compose logs SERVICE         # Logs eines Services

docker-compose exec SERVICE bash    # Shell in Service
docker-compose exec SERVICE CMD     # Befehl ausführen
docker-compose pull                 # Images aktualisieren
docker-compose build                # Images neu bauen
docker-compose config               # Config prüfen

Skalieren

docker-compose up -d --scale web=3  # 3 Instanzen

📋 Nützliche Kombinationen

# Alle Container stoppen
docker stop $(docker ps -q)

# Alle Container löschen
docker rm $(docker ps -aq)

# Alle Images löschen
docker rmi $(docker images -q)

# Container-Logs in Datei
docker logs NAME > container.log 2>&1

# Image-Größen sortiert
docker images --format "{{.Size}}\t{{.Repository}}" | sort -h

# Container-IP finden
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' NAME

🏗️ Dockerfile Referenz

FROM ubuntu:22.04              # Basis-Image
WORKDIR /app                   # Arbeitsverzeichnis
COPY . /app                    # Dateien kopieren
RUN apt-get update             # Befehl ausführen
ENV NODE_ENV=production        # Umgebungsvariable
EXPOSE 3000                    # Port dokumentieren
USER appuser                   # Als Benutzer ausführen
CMD ["node", "app.js"]         # Start-Befehl
ENTRYPOINT ["python"]          # Fester Einstiegspunkt

📄 docker-compose.yml Referenz

version: '3.8'

services:
  web:
    image: nginx:alpine
    # oder: build: ./dir
    container_name: webserver
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html
    environment:
      - NODE_ENV=production
    env_file:
      - .env
    depends_on:
      - db
    restart: unless-stopped
    networks:
      - frontend

  db:
    image: mysql:8
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: geheim
    networks:
      - frontend

volumes:
  db_data:

networks:
  frontend: