Metainformationen zur Seite
  •  

Ordnerstruktur der Docker Volumes

Vorschlag für eine einfach zu verwaltende Ordnerstruktur für Docker Volumes:

/
└── docker-volumes/
    ├── shared/
    │   ├── data/
    │   └── scripts/
    ├── homeassistant/
    │   ├── config/
    │   └── db/
    ├── mosquitto/
    │   ├── data/
    │   └── log/
    ├── influxdb/
    │   └── data/
    ├── grafana/
    │   └── data/
    ├── docker-compose/
    └── backups/

Erklärung und Best Practices:

  1. Hauptverzeichnis: Erstellen Sie ein Hauptverzeichnis /docker-volumes/ für alle Docker-bezogenen Volumes.
  2. Dienstspezifische Unterverzeichnisse: Jeder Dienst hat sein eigenes Unterverzeichnis (z.B. homeassistant/, mosquitto/).
  3. Trennung von Konfiguration und Daten: Wo sinnvoll, trennen Sie Konfigurationsdaten von anderen Daten (z.B. config/ und db/ für Home Assistant).
  4. Konsistente Benennung: Verwenden Sie einheitliche Namen wie data/ für Datenspeicherung und log/ für Logs.
  5. Shared Volume: Ein shared/-Verzeichnis für Daten, die zwischen Containern geteilt werden sollen.

Verwendung in der docker-compose.yml:

textversion: '3'

services:
  homeassistant:
    image: homeassistant/home-assistant
    volumes:
      - ./docker-volumes/homeassistant/config:/config
      - ./docker-volumes/homeassistant/db:/config/db

  mosquitto:
    image: eclipse-mosquitto
    volumes:
      - ./docker-volumes/mosquitto/data:/mosquitto/data
      - ./docker-volumes/mosquitto/log:/mosquitto/log

  influxdb:
    image: influxdb
    volumes:
      - ./docker-volumes/influxdb/data:/var/lib/influxdb

  grafana:
    image: grafana/grafana
    volumes:
      - ./docker-volumes/grafana/data:/var/lib/grafana

volumes:
  shared:
    driver: local
    driver_opts:
      type: none
      device: /docker-volumes/shared
      o: bind

Diese Struktur bietet mehrere Vorteile:

  • Einfache Verwaltung und Übersichtlichkeit
  • Leichte Backups einzelner Dienste
  • Klare Trennung zwischen verschiedenen Anwendungen
  • Flexibilität für zukünftige Erweiterungen
  • Einfache Integration mit Backup-Lösungen

Denken Sie daran, regelmäßige Backups durchzuführen und die Zugriffsrechte für die Verzeichnisse entsprechend zu setzen, um die Sicherheit zu gewährleisten.