Zum Inhalt springen

Docker Images

Die Container in der Entwicklungsumgebung dieser Guideline basieren auf wenigen, möglichst minimalen Basis-Images.

In der Entwicklungsumgebung dieser Guideline werden vier Image-Typen verwendet:

  • ein Dev Container Image für die interaktive Entwicklungsumgebung
  • ein generisches Node Basis Image für unterstützende Services
  • ein separates Dependencies-Image mit Socket Firewall
  • ein separates AI-spezifisches Image mit Claude Code

Für die interaktive Entwicklungsumgebung wird ein offizielles Dev Container Image von Microsoft verwendet:

  • mcr.microsoft.com/devcontainers/typescript-node
  • enthält Entwicklungswerkzeuge (Shell, Git, Editor-Integration)
  • dient ausschließlich der lokalen Entwicklung
  • nicht für Build-, Runtime-, oder AI-Container vorgesehen

Der Großteil der Container verwendet ein minimales Node-Image:

  • node:22-bookworm-slim
  • nicht-root Benutzer (node)
  • keine zusätzlichen Tools
  • reduzierte Angriffsfläche

Für die deps- und deps-update-Container wird ein separates Image verwendet:

  • eigenes Dockerfile.deps
  • Basis ist node:22-bookworm-slim
  • zusätzlich installiert: Socket Firewall Free CLI

Dieses Image wird ausschließlich für die Installation und Aktualisierung von NPM-Dependencies verwendet und bietet zusätzlichen Supply-Chain-Schutz.


Für AI-bezogene Container wird ein separates Image verwendet:

  • eigenes Dockerfile.claude
  • Basis ist node:22-bookworm-slim
  • zusätzliche Tools für Claude Code CLI

Dieses Image wird ausschließlich vom ai- und ai-agent-Container verwendet.


Alle Images verwenden bewusst denselben nicht-root Benutzer:

user: node

Dies stellt sicher:

  • konsistente Dateirechte über Container hinweg
  • keine root-basierten Seiteneffekte
  • bessere Isolation zwischen Containern
  • kompatible Volume-Nutzung

Als Alternative zu den hier verwendeten Standard-Images bietet Docker kostenlose Hardened Images an. Diese Images haben eine deutlich reduzierte Angriffsfläche durch gehärtete Base-Layer und kontinuierliche CVE-Patches, erfordern jedoch einen Docker Hub Account und Login zu dhi.io (kostenlos).