Benutzer-Werkzeuge

Webseiten-Werkzeuge


docker:docker_info

Dies ist eine alte Version des Dokuments!


Docker

Kurzfassung

  • Docker ist eine Plattform zur Containerisierung von Anwendungen.
  • Container bündeln Code, Laufzeitumgebung und Abhängigkeiten in portable Images.
  • Der Docker-Daemon verwaltet Container-Lebenszyklen und Ressourcen auf dem Host.

Schlüsselmerkmale

  • Isolation durch Kernel-Namespaces und Cgroups.
  • Wiederholbare Builds via Dockerfile.
  • Image-Verteilung über private oder öffentliche Registries.
  • Schnelles Provisioning dank leichtgewichtiger Container statt VMs.

Architektur

  • Docker Engine – Daemon (dockerd) + REST API + CLI.
  • Images – Schichtenbasiert (Layer), unveränderlich, versionierbar.
  • Container – Laufende Instanz eines Images mit writable Layer.
  • Registry – Speicherort für Images (Docker Hub, Harbor, ECR).

Anwendungsfälle

  • Lokale Entwicklung mit identischen Umgebungen wie in Produktion.
  • Microservices-Bereitstellung und skalierbare CI/CD-Pipelines.
  • Tests isolierter Komponenten mit reproduzierbaren Ständen.
  • Legacy-Anwendungen kapseln, um Migrationen zu erleichtern.

Vorteile & Grenzen

  • Vorteile – Portabilität, schnelle Bereitstellung, geringerer Ressourcenverbrauch.
  • Grenzen – Gemeinsamer Kernel, daher geringere Isolation als VMs; erfordert Sicherheits-Hardening.
  • Best Practices – Least-Privilege, signierte Images, regelmäßige Scans.

cgroup Grundlagen für Docker

  • Control Groups (cgroups) isolieren und limitieren Ressourcen wie CPU, RAM oder I/O für Container.
  • Moderne Distributionen nutzen meist cgroup v2; Docker kann beide Versionen verwenden, bevorzugt jedoch einheitliche v2-Hierarchien.
  • Systemd-basierte Hosts mounten cgroups unter
    /sys/fs/cgroup

    ; dort legt Docker pro Container eigene Unterbäume an.

Prüfen, welche Version aktiv ist:

stat -fc %T /sys/fs/cgroup

Ausgabe cgroup2fs=v2, ansonsten Mischbetrieb oder v1.

Docker-Info zeigt den aktiven Modus:

docker info --format '{{.CgroupDriver}} / {{.CgroupVersion}}'

**Für ressourcengesteuerte Container Limits setzen, z. B.:

docker run --memory=512m --cpuset-cpus=0-1 nginx

Siehe auch

docker/docker_info.1761197745.txt.gz · Zuletzt geändert: von Branislav Zeljak