Docker Run to Compose · Docker
docker run in docker compose umwandeln — und zurück.
Sie möchten einen docker run in docker compose umwandeln? Fügen Sie den Befehl ein und erhalten Sie das äquivalente docker-compose.yml-Service-YAML, oder fügen Sie einen Compose-Service ein, um die Befehlszeile wieder aufzubauen. Sofort, direkt im Browser. Ohne Installation, ohne Anmeldung.
Läuft in Ihrem Browser — nichts, was Sie einfügen, verlässt diese Seite. Wie wir das belegen
Docker Run to Compose Konverter Playground
Runs entirely in your browser — nothing is uploaded.
Tip: press Esc to release keyboard focus from the editor.
Pick a mode, load an example or paste your own, then convert to see the result here.
Die Lücke
Ein Container, zwei Formen.
Ein docker run-Befehl ist großartig für einen schnellen Start, aber in dem Moment, in dem Sie ihn reproduzierbar haben wollen — in der Versionskontrolle, in einem PR geprüft, mit einem einzigen Befehl gestartet — brauchen Sie eine docker-compose.yml. Eine Wand aus -p-, -v- und -e-Flags von Hand zu übersetzen ist mühsam und fehleranfällig: Es ist leicht, ein Flag wegzulassen, eine Liste falsch zu verschachteln oder einen Port falsch zu zitieren.
Dieser Konverter erledigt den mechanischen Teil für Sie, in beide Richtungen. Sie können online und kostenlos einen docker run Befehl in Compose konvertieren: Er tokenisiert den Befehl genau so, wie es eine Shell tun würde — unter Beachtung von Anführungszeichen, gebündelten Kurz-Flags und Zeilenfortsetzungen — ordnet jedes Flag dem passenden Compose-Schlüssel zu und gibt deterministisches YAML aus. In die andere Richtung baut er einen lauffähigen Befehl aus einem Service wieder auf und informiert Sie über die Schlüssel (depends_on, build, deploy), die schlicht kein Befehls-Äquivalent haben.
Alles läuft in Ihrem Browser, sodass Sie Befehle konvertieren können, die private Registries oder secret-tragende Umgebungsvariablen nennen, ohne dass etwas den Tab verlässt. Siehe die docker run-Referenz und die Compose-Services-Referenz.
Sehen Sie die vollständige Flag-zu-Schlüssel-Zuordnung, oder probieren Sie das Live-Playground oben aus.
Die Pipeline
So funktioniert es.
Fünf deterministische Schritte laufen bei jeder Konvertierung von Anfang bis Ende durch — jedes Mal komplett in Ihrem Browser-Tab.
-
Den Befehl tokenisieren.
Ein POSIX-bewusster Tokenizer zerlegt die Zeile und respektiert dabei einfache und doppelte Anführungszeichen sowie Backslash-Zeilenumbruch-Fortsetzungen, sodass zitierte Werte und mehrzeilige Einfügungen intakt bleiben.
-
Das Präfix entfernen.
Ein führendes docker run oder docker container run wird entfernt, und gebündelte Kurz-Flags wie -it oder -itp werden in ihre einzelnen Flags expandiert.
-
Jedes Flag klassifizieren.
Jedes Flag wird einem Service-Objekt zugeordnet — ports, volumes, environment, networks, capabilities, limits, labels und healthcheck — und das erste Positionsargument wird zum Image, der Rest zum command.
-
Deterministisches YAML ausgeben.
Ein kleiner, handgeschriebener Writer gibt einen stabilen, diff-freundlichen services:-Block aus, der nach dem Container-Namen (oder app) verschlüsselt ist und nur die Skalare zitiert, die YAML erfordert.
-
Oder umgekehrt.
Im compose → run-Modus wird dasselbe Modell aus geparstem Compose-YAML in einen docker run-Befehl wieder aufgebaut, wobei reine Compose-Schlüssel als Warnungen aufgeführt werden.
Referenz
Jedes Flag, zugeordnet.
Die docker run-Flags, die der Konverter erkennt, und die docker-compose-Schlüssel, denen sie zugeordnet werden. Alles Unbekannte wird als Hinweis gemeldet, statt stillschweigend verworfen zu werden.
| docker run-Flag | Compose-Schlüssel |
|---|---|
| -p / --publish | ports Zitiert, z. B. "8080:80". |
| -v / --volume, --mount | volumes Kurzform source:target[:ro]. |
| -e / --env | environment Eine KEY=value-Liste. |
| --env-file | env_file Eine oder mehrere Dateien. |
| --name | container_name Auch der Service-Schlüssel. |
| --restart | restart no / always / unless-stopped … |
| --network / --net | networks host / none → network_mode. |
| -w / --workdir | working_dir |
| -u / --user | user |
| --entrypoint | entrypoint |
| --hostname | hostname |
| --add-host | extra_hosts |
| --cap-add / --cap-drop | cap_add / cap_drop |
| --privileged | privileged |
| -m / --memory | mem_limit |
| --cpus | cpus |
| -l / --label | labels |
| --health-* | healthcheck cmd / interval / timeout / retries. |
| -i / -t | stdin_open / tty |
| --rm, -d / --detach | — (Warnung) Kein Compose-Äquivalent. |
Eingabe
docker run -d -p 8080:80 --name web \
-v /data:/usr/share/nginx/html:ro \
--restart unless-stopped nginx:alpine Ausgabe
services:
web:
image: nginx:alpine
container_name: web
ports:
- "8080:80"
volumes:
- /data:/usr/share/nginx/html:ro
restart: unless-stopped Starten Sie den Service nach dem Konvertieren mit docker compose up -d — dem Compose-Äquivalent des ursprünglichen -d-Flags.
Nächster Schritt
Der Service steht? Validieren Sie die Pipeline und dimensionieren Sie die Pods.
Ein Compose-Service kommt selten allein. Linten Sie die CI, die das Image baut und pusht, mit dem GitLab CI Validator, und wenn Sie den Container nach Kubernetes verschieben, verwandeln Sie seine Speicher- und CPU-Limits in sichere requests/limits mit dem Kubernetes Resource Calculator — beides vollständig in Ihrem Browser.
# build, push, deploy
docker build -t app .
docker compose up -d # ← from this converter
kubectl apply -f deploy.yml # ← size it first FAQ
Fragen, beantwortet.
Tippen Sie auf eine Frage, um die Antwort aufzuklappen.
Wie kann ich einen docker run Befehl in eine docker-compose.yml umwandeln?
Fügen Sie den vollständigen docker run-Befehl in den Konverter ein, wobei der Modus auf run → compose steht, und klicken Sie auf Konvertieren. Er entfernt das führende docker run, ordnet jedes Flag einem Service-Objekt zu, behandelt das erste Nicht-Flag-Token als Image und den Rest als command und gibt einen einsatzbereiten services:-Block aus. So lässt sich ein docker run in docker compose umwandeln — ohne Installation, ohne Docker-Daemon und ohne dass etwas hochgeladen wird.
Kann ich docker-compose zurück in einen docker run-Befehl umwandeln?
Ja. Schalten Sie den Modus-Umschalter auf compose → run, fügen Sie eine Service-Definition ein (oder eine vollständige Compose-Datei — der erste Service wird verwendet), und der Konverter rekonstruiert einen äquivalenten docker run-Befehl, einschließlich Ports, Volumes, Umgebung, Netzwerken, Capabilities, Ressourcenlimits und einem healthcheck. So können Sie docker compose in docker run umwandeln. Schlüssel ohne docker run-Äquivalent — depends_on, build, deploy, profiles — werden als Warnungen gemeldet statt übersetzt.
Wie werden docker run-Flags auf docker-compose-Felder abgebildet?
Die gängigen: -p/--publish → ports, -v/--volume und --mount → volumes, -e/--env → environment, --env-file → env_file, --name → container_name, --restart → restart, --network/--net → networks (oder network_mode für host/none), -w/--workdir → working_dir, -u/--user → user, --entrypoint → entrypoint, --hostname → hostname, --add-host → extra_hosts, --cap-add/--cap-drop → cap_add/cap_drop, --privileged → privileged, -m/--memory → mem_limit, --cpus → cpus, -l/--label → labels und die --health-*-Flags → einen healthcheck-Block. -i und -t werden auf stdin_open und tty abgebildet.
Wie wird docker run -p zu ports in docker compose?
Jedes -p oder --publish wird zu einem Eintrag unter ports. Aus -p 8080:80 wird in der docker-compose.yml die Zeile - "8080:80", als Zeichenkette zitiert, damit YAML das host:container-Mapping nicht als Sexagesimalzahl missversteht. Mehrere -p-Flags werden zu einer Liste, und eine Protokoll-Endung wie 53:53/udp bleibt erhalten.
Wie konvertiere ich docker run -v Volumes in eine Compose-Datei?
Jedes -v/--volume und jedes --mount wird unter volumes als Kurzform source:target[:ro] aufgeführt. Aus -v /data:/usr/share/nginx/html:ro wird der Listeneintrag - /data:/usr/share/nginx/html:ro. Bind-Mounts, benannte Volumes und der schreibgeschützte :ro-Suffix werden dabei unverändert übernommen.
Wie werden docker run -e Umgebungsvariablen in docker-compose geschrieben?
Jedes -e/--env wird unter environment als KEY=value-Liste geschrieben, und --env-file wird zu env_file. Aus -e NODE_ENV=production wird - NODE_ENV=production. Da alles im Browser läuft, können Sie bedenkenlos auch secret-tragende Umgebungsvariablen konvertieren — sie verlassen Ihren Tab nicht.
Was wird aus --restart in einem docker-compose-Service?
Das --restart-Flag wird direkt zum restart-Feld des Service. Aus --restart unless-stopped wird restart: unless-stopped; ebenso werden no, always und on-failure übernommen. Compose verwendet dieselben Richtlinien-Namen wie docker run, sodass das Verhalten beim Neustart identisch bleibt.
Ist dieser docker run zu compose Konverter kostenlos und funktioniert er offline?
Ja. Der Konverter ist kostenlos und läuft zu 100 % clientseitig — es gibt kein Konto, keine Anmeldung und nichts wird auf einen Server hochgeladen. Nach dem ersten Laden funktioniert er offline, da der Befehl oder das YAML vollständig innerhalb Ihres Browser-Tabs tokenisiert und konvertiert wird. Damit lässt sich ein docker run nach docker-compose.yml jederzeit privat umwandeln, auch für interne Befehle mit privaten Registries oder internen Hostnamen.
More free, private DevOps tools.
Der Docker Run to Compose Konverter ist eines von vielen Tools in OpsCanopy — einem wachsenden Schirm browserbasierter Validatoren, Konverter und Tester, die niemals einen Server berühren.
Mehr dazu lesen
- docker run vs. Docker Compose: Ein praktischer Migrationsleitfaden Wann du docker run verwenden solltest, wann der Wechsel zu Docker Compose sinnvoll ist und wie du in beide Richtungen konvertierst — mit korrekt behandelten Volumes, Netzwerken und Reproduzierbarkeit.
- Wie man einen docker-run-Befehl in eine docker-compose.yml umwandelt Wandle jeden docker-run-Befehl Flag für Flag in einen docker-compose.yml-Service um – Ports, Volumes, Environment, Restart und mehr. Eine praxisnahe Anleitung zum Kopieren und Einfügen.
Neu bei Docker? Zum Docker-Guide →
39 kostenlose Tools, jedes einzelne offlinefähig — opscanopy.com funktioniert ohne Registrierung, und nichts wird hochgeladen.
Verwandte Tools: der GitLab CI-Validator und der Kubernetes-Resource-Calculator. Durchsuchen Sie das vollständige Tools-Verzeichnis.
Nicht verbunden mit, unterstützt von oder gesponsert durch Docker, Inc. Docker, docker run und Docker Compose sind Marken von Docker, Inc., hier ausschließlich beschreibend verwendet, um die Befehls- und Dateiformate zu kennzeichnen, zwischen denen dieses Tool konvertiert.