Eigene Projekte mit Docker Compose strukturieren und betreiben

Eigene Projekte mit Docker Compose strukturieren und betreiben
Photo by Chris Leipelt / Unsplash

Im vorherigen Teil haben wir Docker auf einem frischen Ubuntu Server 24.04 installiert. Jetzt geht es darum, eigene Projekte mit Docker Compose sinnvoll zu strukturieren und zu betreiben. Hier zeige ich dir, wie du ...

  • Docker Compose-Projekte organisierst
  • Volumes und Umgebungsvariablen sauber verwaltest
  • und Best Practices beachtest

Projektstruktur: Klar und wartbar

Eine einheitliche Struktur spart Zeit und Nerven – besonders bei mehreren Containern:

/opt/docker/
├── apps/
│ └── applikationsname/
│ ├── docker-compose.yml
│ └── .env
├── volumes/
│ └── applikationsname/
│ └── verzeichnis

Beispiel:

/opt/docker/apps/portainer/docker-compose.yml
/opt/docker/volumes/portainer/data

Tipp: Erstelle ein Template, das du für neue Projekte kopieren kannst.

Beispiel: Portainer via Docker Compose

Portainer ist ein Webinterface zur Verwaltung deiner Docker-Umgebung. Ein typisches Setup:

# /opt/docker/apps/portainer/docker-compose.yml
version: '3.9'

services:
  portainer:
    image: portainer/portainer-ce:2.20.2
    container_name: portainer
    restart: always
    ports:
      - "9443:9443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /opt/docker/volumes/portainer/data:/data
    environment:
      - TZ=Europe/Berlin

Und die passende .env (optional):

TZ=Europe/Berlin

Starten mit:

cd /opt/docker/apps/portainer
docker compose up -d

Best Practices

  • Verwende Tags mit Versionsnummern statt latest. Automatische Updates auf latest können instabil sein.
  • Halte deine Compose-Dateien in Git-Repositories versioniert.
  • Verwende .env-Dateien für Konfigurationen (Passwörter, Ports, etc.).
  • Nutze Volume-Mounts außerhalb des Compose-Verzeichnisses – wie /opt/docker/volumes/... – für persistente Daten.
  • Lege ein Backup-Konzept für deine Volumes fest - Dazu aber später mehr.