Zum Inhalt springen

Docker Desktop Konfiguration

Wie zuvor beschrieben, dient Docker Desktop in dieser Guideline als Container Runtime. Alle Container werden letztlich über Docker gestartet und ausgeführt.


Wenn möglich sollte Enhanced Container Isolation aktiviert werden.

General → Use Enhanced Container Isolation

Diese Funktion erhöht die Isolation zwischen Container und Host-System.


Auf macOS startet Docker Desktop eine Linux-VM, in der alle Container ausgeführt werden.

Der Zugriff auf Host-Dateien ist standardmäßig auf definierte Verzeichnisse beschränkt. Diese Liste wirkt als zusätzliche Sicherheitsgrenze zwischen Container und Host-System.

In Docker Desktop kann definiert werden, welche Host-Verzeichnisse Container überhaupt mounten dürfen:

Resources → File Sharing → Virtual file shares

Diese sollten möglichst auf das Arbeitsverzeichnis beschränkt werden, zum Beispiel:

~/Work

Da in dieser Guideline außerdem bestimmte Konfigurationsdateien für Git und SSH in den Dev Container gemountet werden, müssen auch diese Verzeichnisse freigegeben werden.

~/Work
~/.ssh/config.d/dev-container
~/.ssh/known_hosts.d/dev-container
~/.gitconfig.d

Wer Zugriff auf den Docker Daemon hat, kann indirekt auch auf Teile des Host-Systems zugreifen.

Negativ-Beispiel:

Terminal-Fenster
docker run -v <host-user-directory>:/host <image>

Der Container hätte in diesem Fall Zugriff auf das gesamte Home-Verzeichnis des Nutzers. Durch die Einschränkung der File-Sharing-Pfade wird die mögliche Angriffsfläche reduziert.


Die Ressourcenbegrenzung ist keine direkte Sicherheitsmaßnahme, kann jedoch DoS-artige Probleme verhindern.

Beispiel:

Resources → Advanced
CPU: 6
Memory: 32GB
Swap: 2GB
Disk Usage Limit: 256GB

Optional können Telemetrie-Funktionen deaktiviert werden.

General → Send usage statistics
General → Enable Scout image analytics

Docker Desktop kann optional ein lokales Kubernetes-Cluster starten. Wenn Kubernetes nicht benötigt wird, sollte es deaktiviert werden:

Settings → Kubernetes → disable

Docker Desktop unterstützt Erweiterungen, die als Container laufen und teilweise Zugriff auf Docker API, Dateien und Netzwerk erhalten. Wenn Extensions nicht benötigt werden, sollten sie deaktiviert werden:

Extensions → Enable Docker Extensions

Docker Desktop kann lokale AI- bzw. LLM-Modelle ausführen. Wenn diese Funktion nicht benötigt wird, sollte sie deaktiviert werden:

AI → Docker Model Runner → Disable

Beta-Features können experimentelle Funktionen enthalten. Wenn sie nicht benötigt werden, sollten sie deaktiviert bleiben.