docker run zu Compose
Konvertieren Sie einen docker run-Befehl in einen docker-compose.yml-Service oder umgekehrt.
docker run zu Compose
Fügen Sie einen docker run-Befehl ein und dieses Tool schreibt ihn als docker-compose.yml-Service um, wobei das Image, die Ports, Volumes, Umgebungsvariablen, das Netzwerk und die Neustartrichtlinie ihren Compose-Entsprechungen zugeordnet werden. Schalten Sie die Richtungsoption um und es funktioniert auch umgekehrt: Fügen Sie eine Compose-Datei ein und erhalten Sie den entsprechenden docker run-Befehl für jeden Service zurück, nützlich, wenn Sie nur eine Compose-Datei haben, aber einen Container manuell reproduzieren müssen.
Fügen Sie mehr als einen docker run-Befehl ein, einen pro Zeile, und jeder wird zu seinem eigenen Service in der gleichen Compose-Datei — praktisch, um eine Handvoll Ad-hoc-Container in einen richtigen Multi-Service-Stack umzuwandeln. Erkannte Schalter sind -p/--publish, -v/--volume, -e/--env, --network, --restart, --memory und --cpus (zugeordnet zu einem deploy.resources.limits-Block), sowie --name, --workdir, --user, --entrypoint, --label und --hostname. Umgebungsvariablen können inline unter environment: bleiben oder in eine generierte .env-Datei verschoben werden, auf die mit env_file: verwiesen wird, und das Compose-Dateiformat kann mit oder ohne version:-Schlüssel geschrieben werden.
Nicht jedes docker run-Flag hat ein Compose-Äquivalent — Dinge wie --rm oder --pull sind Container-Lebenszyklusschalter, die keine Compose-Einstellung pro Service haben. Das Tool löscht sie nie stillschweigend: nicht unterstützte Flags werden als Kommentare neben dem Service aufgelistet, zu dem sie gehören, damit Sie genau sehen können, was nicht übertragen wurde. Das Ausschalten von "Ursprüngliche Reihenfolge der Flags beibehalten" sortiert jede Liste (Ports, Volumes, Umgebung) alphabetisch, anstatt die Reihenfolge beizubehalten, in der Sie sie eingegeben haben, was einen generierten Diff einfacher überprüfen kann.
Alles läuft lokal in Ihrem Browser — kein Befehl, kein Image-Name oder keine Umgebungsvariable wird jemals irgendwo versendet. Kopieren Sie das Ergebnis, laden Sie es als .txt-Datei herunter oder senden Sie die Ausgabe zurück in die Eingabe, um sie weiter zu verfeinern.