Zum Inhalt springen

Dependency Volumes

Dependency Volumes enthalten die installierten Projektabhängigkeiten und trennen diese vom Workspace. Dadurch werden generierte Artefakte nicht im Projektverzeichnis gespeichert, können aber von mehreren Containern gemeinsam genutzt werden.

Typische Beispiele:

  • node_modules

Dependency Volumes werden in der compose.yml explizit definiert.

compose.yml

volumes:
root_node_modules:

Die explizite Benennung erleichtert Wiederverwendung und verhindert zufällig generierte Volume-Namen.


Das Volume wird an den Pfad gemountet, an dem das Projekt seine Dependencies erwartet.

compose.yml

- root_node_modules:/workspaces/security-oriented-dev-container-project/node_modules

Dadurch bleiben Dependencies vom Workspace getrennt, sind aber weiterhin im Container verfügbar.


Container, die Dependencies installieren oder verändern, erhalten Schreibzugriff.

compose.yml

- root_node_modules:/workspaces/security-oriented-dev-container-project/node_modules

Dies betrifft typischerweise:

  • init-volumes
  • deps
  • deps-update

Container, die Dependencies nur verwenden, erhalten read-only Zugriff.

compose.yml

- root_node_modules:/workspaces/security-oriented-dev-container-project/node_modules:ro

Dies verhindert unbeabsichtigte Änderungen durch Runtime- oder Tool-Container.