Zum Inhalt springen

Docker Best Practices

Neben der sicherheitsrelevanten Konfiguration von Docker Desktop gibt es grundlegende Best Practices im Umgang mit Containern, die insbesondere in Entwicklungsumgebungen wichtig sind.


Privilegierte Container heben viele der Sicherheitsmechanismen von Docker auf. Folgende Optionen sollten daher nicht verwendet werden:

Terminal-Fenster
--privileged

oder in Docker Compose:

privileged: true

Neben dem Docker-Socket existieren weitere sensible Container-Runtime-Sockets. Diese sollten niemals in Container gemountet werden.

Beispiele:

/var/run/docker.sock

Git- und SSH-Credentials sollten nicht pauschal in Container gemountet werden. Insbesondere zu vermeiden sind breite Mounts wie:

~/.ssh:/root/.ssh
~/.gitconfig

Solche Mounts geben dem Container Zugriff auf alle privaten Schlüssel, bekannten Hosts und Git-Identitäten des Host-Systems - auch auf solche, die mit dem jeweiligen Projekt nichts zu tun haben.

Stattdessen sollten Dateien gezielt gemountet werden und SSH-Agent Forwarding verwendet werden. Dadurch verbleiben private Schlüssel auf dem Host-System und werden nicht im Container gespeichert.