docker run in Compose
docker run to Compose
Macht aus einer docker-run-Kommandozeile eine Compose-Service-Definition und wandelt auch in die andere Richtung um.
Wandelt eine `docker run`-Befehlszeile in den `compose.yaml`-Service um, dem sie entspricht. Der Befehl wird mit echten Shell-Quoting-Regeln zerlegt, sodass ein als `sh -c "…"` geschriebener Entrypoint mit seinen Leerzeichen und Anführungszeichen intakt bleibt.
docker-run-Befehl
compose.yaml
Hinweise
- -d wirkt nur auf den docker-run-Aufruf selbst; Compose hat dafür keine Entsprechung, also wurde es verworfen.
sh -c "…" seine Leerzeichen. Flags ohne Compose-Entsprechung (--rm, -d) werden mit einem Hinweis verworfen — den Lebenszyklus bestimmt Compose selbst — und unbekannte Flags werden benannt, nie stillschweigend geschluckt. Ports stehen in der Ausgabe in Anführungszeichen, weil YAML 1.1 sonst 8080:80 als Zahl zur Basis 60 lesen würde.So funktioniert es
Fügen Sie den Befehl ein
Zeilenfortsetzungen, Werte in Anführungszeichen und ein nachgestellter Befehl hinter dem Image werden alle behandelt. Nichts wird ausgeführt – das ist Text rein, Text raus.
Lesen Sie die Hinweise unter der Ausgabe
Flags ohne Compose-Entsprechung werden aufgeführt, statt stillschweigend wegzufallen, und ein unbekanntes Flag wird beim Namen genannt. Diese Liste ist der Teil, den Sie prüfen sollten, bevor Sie die Datei committen.
Kopieren Sie es in Ihre Compose-Datei
Die Ausgabe ist ein Service. Setzen Sie ihn unter `services:` neben das, was Sie sonst haben, und geben Sie ihm den gewünschten Namen, wenn der Befehl kein `--name` hatte.
Häufige Fragen
Warum stehen die Ports in Anführungszeichen?
Weil YAML 1.1 `8080:80` als Zahl zur Basis 60 liest – die Sexagesimalsyntax, die niemand wollte und jeder YAML-Parser geerbt hat. Die Anführungszeichen sind es, was es als Port-Zuordnung erhält. Das ist die klassische Compose-Falle.
Was ist mit `--rm` und `-d` geschehen?
Mit einem Hinweis weggelassen, denn Compose besitzt den Lebenszyklus. `docker compose up` ist die Entscheidung zwischen detached und attached, und `docker compose down` entfernt Container, sodass diese Flags keine Entsprechung auf Service-Ebene haben, in die sie übersetzt werden könnten.
Schreibt es eine ganze Compose-Datei?
Es schreibt den Service. Netzwerke, Volumes auf oberster Ebene und ein `version:`-Schlüssel (den modernes Compose nicht mehr will) sind Ihre Sache – und meistens sollten Sie sie nicht brauchen.
Eingabe aus
chmod-Rechner
chmod Calculator
Wandelt zwischen oktaler, symbolischer und Checkbox-Ansicht der Rechte um, einschließlich setuid und Sticky Bit.
.env-Parser und -Konverter
.env Parser & Converter
Parst eine .env-Datei und wandelt sie in JSON, YAML, Shell-Exports, Docker- oder Kubernetes-Format um.
Docker-Image-Explorer
Docker Image Explorer
Öffnet ein exportiertes Image-Tarball und zeigt für jede Schicht den Befehl, die Größe und die hinzugefügten oder gelöschten Dateien.
JSON formatieren und validieren
JSON Formatter & Validator
Formatiert, minimiert und validiert JSON und zeigt bei Syntaxfehlern die genaue Zeile und Spalte.
Danach
Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.
Docker-Image-Explorer
Docker Image Explorer
Öffnet ein exportiertes Image-Tarball und zeigt für jede Schicht den Befehl, die Größe und die hinzugefügten oder gelöschten Dateien.
.env-Parser und -Konverter
.env Parser & Converter
Parst eine .env-Datei und wandelt sie in JSON, YAML, Shell-Exports, Docker- oder Kubernetes-Format um.
Kubernetes-Secret-Decoder
Kubernetes Secret Decoder
Dekodiert jeden Base64-Wert in einem Secret-Manifest und kodiert ein bearbeitetes wieder zum Anwenden – ohne Upload, komplett im Browser.
YAML formatieren und validieren
YAML Formatter & Validator
Rückt YAML einheitlich ein, validiert es und markiert die Tab- und Anker-Fehler, an denen Parser scheitern.
Base64 kodieren und dekodieren
Base64 Encoder & Decoder
Kodiert und dekodiert Base64 und Base64URL für Text oder Dateien und behandelt UTF-8 korrekt.
curl in Code
curl to Code
Wandelt einen curl-Befehl in fetch, axios, Python requests, Go, PHP oder PowerShell um.