docker compose up -d, docker compose logs -f, docker compose exec php bash. Lange Befehle, jeden Tag dutzendfach. Das Oh My Zsh Docker Compose Plugin kürzt sie auf dcupd, dclf und dce. Dazu kommt Tab Completion für Services und Optionen. Mit dem aktuellen Update gibt es außerdem eigene Kürzel für Compose Watch.
Dieser Beitrag zeigt die Aliase, die ihr wirklich braucht, wie Compose Watch euren lokalen Loop beschleunigt und wo ihr bei Kürzeln aufpassen solltet. Grundlagen zu Installation, Plugins und Performance stehen in unserem Glossar Eintrag Oh My Zsh, das Zsh Framework für Plugins und Themes.
Lokales Setup hakt? Container starten nicht, die Umgebung läuft nur auf einem Rechner im Team, das Onboarding dauert Tage. Unsere Soforthilfe bringt euer Webprojekt schnell wieder ins Laufen. Zur NCA Soforthilfe für Webprojekte
Docker Compose Plugin aktivieren
Das Plugin ist Teil von Oh My Zsh, ihr müsst nichts installieren. Ein Eintrag in der plugins Liste reicht. Wer zusätzlich das docker Plugin nutzt, bekommt Completion für einzelne Container und Images dazu.
# ~/.zshrc, Plugins durch Leerzeichen getrennt
plugins=(git docker docker-compose)
# neu laden und prüfen
source ~/.zshrc
alias | grep docker-compose
Ein Detail, das oft für Verwirrung sorgt: Docker Compose gibt es als altes eigenständiges docker-compose und als modernes docker compose mit Leerzeichen. Das Plugin wählt selbst. Sind beide installiert, nimmt es das alte docker-compose. Wer das nicht will, entfernt das alte Binary. Moderne Docker Installationen bringen ohnehin nur noch die neue Variante mit.
Die Docker Compose Aliase für jeden Tag
| Alias | Befehl | Wofür |
|---|---|---|
dcupd | up -d | Stack im Hintergrund starten |
dcupdb | up -d --build | Starten und Images neu bauen |
dcdn | down | Stack stoppen und Container entfernen |
dcps | ps | Laufende Container anzeigen |
dce | exec | Befehl im laufenden Container |
dcr | run | Einmaligen Container starten |
dclf | logs -f | Logs live mitlesen |
dcrestart | restart | Service neu starten |
dcpull | pull | Neue Images holen |
dcc | config | Fertige Konfiguration anzeigen |
Unterschätzt wird dcc. Der Befehl zeigt die Compose Datei so, wie Docker sie am Ende sieht, mit allen Variablen aus der .env und allen zusammengeführten Override Dateien. Wenn ein Port oder ein Volume nicht dort landet, wo ihr es erwartet, ist das der erste Blick.
# Typischer Start in den Tag
dcpull # neue Images holen
dcupd # Stack starten
dcps # läuft alles?
dclf php # Logs vom PHP Service live mitlesen
dce php bash # Shell im Container
Neu im aktuellen Update
Oh My Zsh veröffentlicht keine Release Notes, neue Aliase landen still mit omz update. Beim Docker Compose Plugin sind diesmal fünf Kürzel dazugekommen:
dcupwstartet den Stack mitup --watch.dcupwbmacht dasselbe und baut die Images vorher neu.dcstszeigt mitstatsCPU und Speicher pro Container.dcilistet mitimagesdie Images, die euer Stack nutzt.dcvzeigt die Compose Version, hilfreich beim Debugging im Team.
Docker Compose Watch mit dcupw
Compose Watch ist die spannendste Neuerung. Statt nach jeder Änderung Container neu zu bauen, beobachtet Docker eure Dateien und reagiert selbst. Quellcode wird in den laufenden Container synchronisiert. Ändert sich eine Abhängigkeit, baut Docker das Image neu. Damit das funktioniert, braucht der Service einen develop Abschnitt in der compose.yaml.
# compose.yaml
services:
web:
build: .
develop:
watch:
- action: sync
path: ./src
target: /app/src
- action: rebuild
path: package.json
Danach reicht dcupw. Eine Änderung in src landet sofort im Container. Eine neue Abhängigkeit in der package.json löst einen Rebuild aus. Wer Code mit einem Coding Agent schreiben lässt, merkt den Unterschied besonders: Der Agent ändert Dateien, und die laufende Anwendung zieht sofort nach. Ihr prüft das Ergebnis direkt im Browser oder per Test.
Ein Hinweis aus der Praxis: Watch ersetzt keine Bind Mounts für alles. Für Projekte mit sehr vielen Dateien, etwa ein großes vendor oder node_modules, nehmt ihr diese Ordner per ignore aus der Beobachtung heraus. Sonst wird die Synchronisation träge.
Vorsicht bei diesen Compose Aliasen
dcdn stoppt und entfernt Container. Daten in benannten Volumes bleiben dabei erhalten. Wer aus Gewohnheit dcdn -v tippt, löscht die Volumes mit, also auch die lokale Datenbank. Dasselbe gilt für dck, das Container hart beendet, ohne ihnen Zeit für einen sauberen Shutdown zu geben. Im Alltag sind dcstop und dcdn ohne Zusatz die sicheren Varianten.
Wer öfter alles auf einmal stoppen muss, findet die Befehle dafür in unserem älteren Beitrag Docker stop all containers.
Docker Compose im Team
Die Aliase sind für euch. Für das Team zählt, dass ein einziger Befehl eine laufende Umgebung erzeugt. Steht in der Readme docker compose up -d und danach ist die Anwendung samt Testdaten erreichbar, sind neue Kolleginnen und Kollegen am ersten Tag produktiv. Wie das mit Seed Daten statt Datenbank Dumps klappt, zeigen unsere Beiträge zu Team Onboarding mit Seed Daten und Staging ohne Produktionsdaten.
Schreibt in Readmes und Doku immer die vollen Befehle. Nicht jeder nutzt Oh My Zsh, und ein Coding Agent kennt eure Kürzel nicht. Die Grundlagen zu Containern stehen in unserem Eintrag Docker im PHP Glossar. Wie Compose in die Pipeline passt, zeigt unser CI/CD Pipeline Setup. Läuft dort derselbe Stack wie lokal, laufen auch die Quality Gates für KI Code gegen dieselbe Umgebung.
Alle Aliase stehen in der README des Docker Compose Plugins auf GitHub. Die Details zu Watch erklärt die Docker Dokumentation zu Compose Watch, alle Befehle die Docker Compose CLI Referenz.
Häufige Fragen zum Oh My Zsh Docker Compose Plugin
Funktioniert das Plugin mit docker compose ohne Bindestrich?
Ja. Das Plugin erkennt, ob das alte docker-compose oder das neue docker compose installiert ist. Sind beide vorhanden, nutzt es das alte Binary. Wer nur die neue Variante hat, muss nichts konfigurieren.
Was macht dcupw genau?
dcupw startet den Stack mit up --watch. Docker beobachtet dann die Pfade, die im develop Abschnitt der Compose Datei stehen, und synchronisiert Änderungen oder baut neu. Ohne diesen Abschnitt passiert beim Watch nichts.
Was ist der Unterschied zwischen docker und docker-compose Plugin?
Das docker Plugin kümmert sich um einzelne Container und Images. Das docker-compose Plugin um ganze Stacks aus einer Compose Datei. Beide ergänzen sich, die meisten Setups aktivieren beide zusammen.
Löscht dcdn meine Datenbank?
Nein. dcdn entfernt Container und Netzwerke, benannte Volumes bleiben erhalten. Erst mit dem Zusatz -v werden auch die Volumes gelöscht. Genau dort liegt die lokale Datenbank meist.
Wie bekomme ich die neuen Aliase?
Mit omz update und einem neuen Terminal Tab. Danach zeigt alias | grep dcup, ob dcupw und dcupwb da sind.
Ein Befehl, eine laufende Umgebung
Im NCA KI Workshop für Developer baut euer Team einen lokalen Dev Loop, in dem Coding Agents, Container und Tests sauber zusammenspielen. Das Vorgespräch ist kostenlos.
