Stoppen Sie das Schreiben von docker run-Befehlen – Verwenden Sie Docker Compose anstelle
Die meisten docker run-Befehle werden zu wartungsfreien Flag-Suppen. Dieser Leitfaden zeigt, wie man docker run in docker compose umwandelt – mit einer Tabelle mit Flag-Referenzen, einem echten Umwandlungsbeispiel und einem kostenlosen Umwandlungs-Tool.
Jeder Docker-Workflow beginnt auf die gleiche Weise: docker run. Ein Flag, zwei Flags – beherrschbar. Doch wenn du einen Container mit Ports, Umgebungsvariablen, Volumes, einem Wiederstart-Regel und einer benutzerdefinierten Netzwerkumgebung startest, ist dieser Befehl 400 Zeichen lang und niemand kann ihn merken, er ist nicht versioniert und kannst ihn nicht an einen Teammitglied übergeben, ohne dass ein Slack-Thread voller Scham entsteht.
Docker Compose ist die Lösung. Eine YAML-Datei ersetzt den ganzen Befehl – und du kannst sie in Git speichern.
Warum docker run die Skalierung beendet
Hier ist ein typisches docker run Befehl für eine Node.js-Anwendung:
docker run -d \
--name my-app \
-p 3000:3000 \
-e NODE_ENV=production \
-e DATABASE_URL=postgres://user:pass@db:5432/mydb \
-v ./data:/app/data \
--network app-network \
--restart always \
my-app:latest
Das funktioniert. Einmal. Dann schließen Sie die Terminal-Session, öffnen drei Wochen später ein neues und haben keine Ahnung, welche Flags Sie verwendet haben. Es gibt nichts, um es git diff. Nichts, das man einem neuen Mitarbeiter zeigen kann. Keine Möglichkeit, sicherzustellen, dass die Staging-Umgebung der Produktionsumgebung entspricht.
Was Docker Compose dir bietet
Docker Compose nimmt alles, was in jenen docker run Befehl gesteckt wurde, und legt es in eine YAML-Datei namens docker-compose.yml. Diese Datei:
- Läuft in deinem Repository neben dem Code
- Startet mit einem einzigen
docker compose up -d - Funktioniert identisch auf jeder Maschine und Umgebung
- Kann auf Mehrdienstkonfigurationen (App + Datenbank + Cache) skaliert werden, ohne sich mit Flags zu beschäftigen
Wie man einen docker run-Befehl in ein docker-compose.yml konvertiert
Dieser Befehl wird zu diesem docker-compose.yml:
version: "3.9"
services:
my-app:
image: my-app:latest
container_name: my-app
ports:
- "3000:3000"
environment:
NODE_ENV: production
DATABASE_URL: postgres://user:pass@db:5432/mydb
volumes:
- ./data:/app/data
networks:
- app-network
restart: always
networks:
app-network:
Gleiche Funktion. Aber jetzt ist er lesbar, in Git gespeichert und reproduzierbar.
Starte es:
docker compose up -d
Stopp es:
docker compose down
docker run-Flags zu docker-compose.yml-Schlüsseln
Ein Referenzpunkt für die Flags, die du häufig verwendest:
| docker run-Flag | docker-compose.yml-Schlüssel | Beispiel |
|---|---|---|
-p 8080:80 | ports: | - "8080:80" |
-e FOO=bar | environment: | FOO: bar |
-v ./data:/data | volumes: | - ./data:/data |
--network mynet | networks: | mynet |
--restart always | restart: | always |
--name mycontainer | container_name: | mycontainer |
--memory 512m | mem_limit: | 512m |
--cpus 1.5 | deploy.resources.limits.cpus | cpus: "1.5" |
-d | Verwenden Sie -d Flag zur Laufzeit | docker compose up -d |
Automatisch konvertieren
Wenn du einen langen bestehenden docker run Befehl hast – besonders wenn er aus einer README oder einem CI-Skript stammt, das seit zwei Jahren nicht mehr aktualisiert wurde – musst du nicht jedes Flag manuell abgleichen. Nutze das Docker Run to Compose Converter: Füge den Befehl ein, erhält ein gültiges docker-compose.yml Ergebnis.
Es behandelt Ports, Umgebungsvariablen, Volumes, Netzwerke, Wiederstartregeln und mehr. Nützlich, um alte Einzeiler ohne Eingabe von Tippfehlern zu migrieren.
Wenn du Ressourcengrenzen in deiner Compose-Datei konfigurierst, hilft der Docker Container Ressourcenrechner dich, sinnvolle Speichermengen und CPU-Werte basierend auf deiner Last auszuwählen – bevor du Zahlen aus dem Nichts übernimmst.
Prüfe deinen Dockerfile währenddessen
Sobald dein Compose-Datei sortiert ist, überprüfe den Dockerfile, aus dem sie gebaut wird. Ungepfifft Basismodule, fehlende WORKDIR, unnötige RUN Schichten – diese sind leicht zu verpassen und später ärgerlich zu debuggen. Der Dockerfile-Prüfer fängt sie vor der Produktion ab.
Erweiterungen installieren
IO-Tools zu Ihrem Lieblingsbrowser hinzufügen für sofortigen Zugriff und schnellere Suche
恵 Die Anzeigetafel ist eingetroffen!
Anzeigetafel ist eine unterhaltsame Möglichkeit, Ihre Spiele zu verfolgen. Alle Daten werden in Ihrem Browser gespeichert. Weitere Funktionen folgen in Kürze!
Unverzichtbare Tools
Alle Neuheiten
AlleAktualisieren: Unser neuestes Werkzeug wurde am 22. Apr. 2026 hinzugefügt
