So funktioniert es
- Fügen Sie links docker-run-Befehle ein. Mehrzeilige Befehle mit abschließendem Backslash funktionieren; trennen Sie mehrere Befehle mit Zeilenumbrüchen, Semikolons oder &&.
- Rechts erscheint die Compose-Datei. Jeder Befehl wird zu einem Dienst, benannt nach --name oder, falls das fehlt, nach dem Image.
- Prüfen Sie den gelben Hinweis auf alles, was nicht umgewandelt wurde, und kopieren oder laden Sie dann die compose.yaml herunter und führen Sie docker compose up -d aus.
Optionen erklärt
- Unterstützte Flags
- -p, -v, --mount, -e, --env-file, --name, --restart, --network, -w, -u, -h, --entrypoint, -l, --add-host, --dns, --cap-add/drop, --device, -m, --cpus, --shm-size, --ulimit, --log-driver/--log-opt, --health-*, -i, -t, --privileged, --init, --read-only und mehr.
- Benannte Volumes und Netzwerke
- Benannte Volumes (etwa pgdata:/data) werden unter dem obersten volumes deklariert. Benutzerdefinierte Netzwerke werden als external true deklariert, das heißt, ein vorhandenes Netzwerk wird verwendet. Die Netzwerke host und none werden zu network_mode.
- Ports
- Portzuordnungen werden immer in Anführungszeichen gesetzt. YAML 1.1 liest Werte wie 22:22 als Basis-60-Zahlen, daher empfiehlt die Docker-Dokumentation, Ports als Strings zu schreiben.
- Ignorierte Flags
- -d und --rm haben keine Compose-Entsprechung und werden weggelassen. Nicht unterstützte Flags wie --gpus werden im Hinweis aufgeführt.
Beispiel
docker run -d --name web --restart unless-stopped -p 8080:80 \
-v ./html:/usr/share/nginx/html:ro -e TZ=Asia/Shanghai --memory 512m nginx:1.27
wird zu:
services:
web:
image: nginx:1.27
container_name: web
restart: unless-stopped
mem_limit: 512m
ports:
- "8080:80"
environment:
- TZ=Asia/Shanghai
volumes:
- ./html:/usr/share/nginx/html:ro
Häufig gestellte Fragen
Braucht die Datei eine version-Zeile?
Nein. Aktuelles Docker Compose (v2) verwendet das oberste version-Feld nicht mehr; falls vorhanden, wird es mit einer Warnung ignoriert.
Werden Passwörter in meinen Umgebungsvariablen hochgeladen?
Nein. Parsen und Umwandlung laufen in Ihrem Browser, nichts wird an einen Server gesendet.
Werden Argumente in Anführungszeichen korrekt verarbeitet?
Ja. Einfache Anführungszeichen, doppelte Anführungszeichen und Backslash-Escapes folgen den Shell-Regeln, sodass -e "MSG=hello world" den gesamten Wert behält.
Datenschutz
Dieses Tool läuft vollständig in Ihrem Browser. Ihre Dateien und Texte werden auf Ihrem Gerät verarbeitet und nie auf unsere Server hochgeladen.