Zum Inhalt springen
ToolMug

docker run in Docker Compose

Fügen Sie einen oder mehrere docker-run-Befehle ein, um die entsprechende compose.yaml zu erhalten. Ports, Volumes, Umgebungsvariablen, Netzwerke, Restart-Policy, Speicher- und CPU-Limits, Logging und Health-Checks werden umgewandelt; Flags, die das nicht können, werden aufgelistet, damit Sie sie von Hand ergänzen können.

Läuft in Ihrem Browser – Ihre Eingaben werden nicht hochgeladen

docker run → Docker Compose
docker run
Docker Compose

So funktioniert es

  1. Fügen Sie links docker-run-Befehle ein. Mehrzeilige Befehle mit abschließendem Backslash funktionieren; trennen Sie mehrere Befehle mit Zeilenumbrüchen, Semikolons oder &&.
  2. Rechts erscheint die Compose-Datei. Jeder Befehl wird zu einem Dienst, benannt nach --name oder, falls das fehlt, nach dem Image.
  3. 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.

Ähnliche Tools