docker:docker_info
Inhaltsverzeichnis
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.txt · Zuletzt geändert: von Branislav Zeljak

