# Docker/Podman Composer

> docker run und podman run in eine Compose-Datei umwandeln und zurück — rein im Browser. Der Einstieg zu Manual, Beispielen und Tipps.

Source: https://www.jpkc.com/db/tools/docker/

## Vom langen Run-Befehl zur Compose-Datei — und zurück

Der [Docker/Podman Composer](https://www.jpkc.com/tools/docker/) übersetzt zwischen zwei Schreibweisen für denselben Container: dem einzeiligen (oft sehr langen) `docker run`- bzw. `podman run`-Befehl und der strukturierten `docker-compose.yml`. Und zwar in **beide Richtungen** — du gibst entweder einen Run-Befehl ein und bekommst die passende Compose-YAML, oder du fügst eine Compose-Datei ein und erhältst für jeden Service den fertigen Run-Befehl.

Das löst ein alltägliches Ärgernis: Ein `docker run` mit einem Dutzend Flags ist schwer zu lesen, schwer zu versionieren und schwer wartbar. Eine Compose-Datei ist beides nicht. Umgekehrt findest du in vielen Dokumentationen, Issues und Tutorials einen `run`-Einzeiler, willst ihn aber in dein bestehendes `docker-compose.yml` einsortieren. Der Composer nimmt dir das Abtippen und Nachschlagen ab.

Gedacht ist das Tool für alle, die mit Containern arbeiten: **Entwicklerinnen und Entwickler**, die einen aus einem Tutorial kopierten Run-Befehl in ihr Compose-Setup überführen wollen; **DevOps- und Ops-Leute**, die ad-hoc gestartete Container nachträglich als Compose-Service dokumentieren; und alle, die schnell die `run`-Entsprechung eines Compose-Services brauchen, um einen einzelnen Container von Hand zu testen.

## Was das Tool kann — auf einen Blick

Die Oberfläche ist auf Englisch und in drei Tabs gegliedert:

- **Run → Compose** — Eingabe eines `docker run`/`podman run`-Befehls, Klick auf **Convert to YAML** (*in YAML umwandeln*), Ausgabe als `docker-compose.yml`. Die YAML-Ausgabe ist **editierbar** (Badge „editable") und lässt sich kopieren oder direkt als `docker-compose.yml` herunterladen.
- **Compose → Run** — Eingabe einer Compose-YAML, Klick auf **Convert to Commands** (*in Befehle umwandeln*), Ausgabe je Service als fertiger Run-Befehl. Per Radio-Schalter wählst du, ob die Befehle für **docker** oder **podman** erzeugt werden.
- **Reference** (*Referenz*) — eine eingebaute Tabelle „Flag Reference: docker run → Compose", eine Liste der Compose-only-Features, eine Übersicht der Restart-Policies und ein paar Tipps. Ein Nachschlagewerk direkt im Tool.

Beide Konvertierungs-Editoren basieren auf dem ACE-Editor mit Syntax-Hervorhebung für Shell und YAML. Zu jedem Eingabefeld gehört ein **Example**-Knopf (lädt ein Beispiel) und ein **Clear**-Knopf (leert die Felder).

## Rein clientseitig — nichts verlässt deinen Browser

Wichtig für Datenschutz und Verständnis: Der Composer rechnet **vollständig in deinem Browser**. Die gesamte Konvertierungslogik — Tokenizer für die Kommandozeile, Flag-Parser, YAML-Serialisierer und der YAML-Parser für die Gegenrichtung — läuft als JavaScript lokal. Es gibt **keinen Server-Abruf, keine API und keinen Upload**: Weder dein Run-Befehl noch deine Compose-Datei werden irgendwohin gesendet. Du kannst das Tool also bedenkenlos mit Befehlen nutzen, die Passwörter, Tokens oder interne Hostnamen enthalten. Auch der Download der `docker-compose.yml` entsteht lokal als Datei-Blob.

## Jetzt ausprobieren

**[→ Docker/Podman Composer öffnen](https://www.jpkc.com/tools/docker/)** — Run-Befehl oder Compose-YAML einfügen, konvertieren, Ergebnis kopieren oder herunterladen. Ohne Account, kostenlos, direkt im Browser. Wenn du erst sehen willst, wie das aussieht, lädt der **Example**-Knopf in jedem Tab ein fertiges Beispiel (ein nginx-Container mit Ports, Volumes, Env, Healthcheck und Logging).

## Verwandte JPKCom-Tools

- **[Docker-Cheat-Sheet](https://www.jpkc.com/db/cheatsheets/containers/docker/)** — die wichtigsten `docker`-Befehle und Flags zum Nachschlagen, wenn du einen Run-Befehl von Hand baust.
- **[Docker-Compose-Cheat-Sheet](https://www.jpkc.com/db/cheatsheets/containers/docker-compose/)** — Aufbau und Befehle von `docker compose`, ideal als Begleiter für die erzeugte YAML.
- **[Podman-Cheat-Sheet](https://www.jpkc.com/db/cheatsheets/containers/podman/)** — die `podman`-Entsprechungen, falls du die Befehle für Podman erzeugst.
- **[Cron-Generator](https://www.jpkc.com/db/tools/cron/)** — Crontab-Zeilen bauen, etwa um einen wiederkehrenden Container-Job zu planen.

---

Tiefer geht es auf den Unterseiten: das **[Manual](https://www.jpkc.com/db/tools/docker/manual/)** mit beiden Konvertierungsrichtungen und allen unterstützten Flags, **[Beispiele](https://www.jpkc.com/db/tools/docker/examples/)** aus der Praxis und gesammelte **[Tipps & Tricks](https://www.jpkc.com/db/tools/docker/tips/)**.

