Eigene Projekte mit Docker Compose strukturieren und betreiben
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 auflatestkö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.