Vai al contenuto
100% locale

docker run a Compose

Converti un comando docker run in servizio docker-compose.yml, o viceversa.

Ingresso
Uscita

docker run a Compose

Incolla un comando docker run e questo strumento lo riscrive come servizio docker-compose.yml, con l'immagine, le porte, i volumi, le variabili d'ambiente, la rete e il criterio di riavvio mappati ai loro equivalenti compose. Inverti l'opzione direzione e funziona anche al contrario: incolla un file compose e ottieni il comando docker run equivalente per ogni servizio, utile quando hai solo un file compose ma devi riprodurre un contenitore manualmente.

Incolla più comandi docker run, uno per riga, e ognuno diventa il suo servizio nello stesso file compose — pratico per trasformare una manciata di contenitori ad-hoc in uno stack multi-servizio appropriato. Gli switch riconosciuti includono -p/--publish, -v/--volume, -e/--env, --network, --restart, --memory e --cpus (mappati a un blocco deploy.resources.limits), più --name, --workdir, --user, --entrypoint, --label e --hostname. Le variabili d'ambiente possono rimanere inline sotto environment: o essere spostate in un file .env generato referenziato con env_file:, e il formato del file compose può essere scritto con o senza una chiave version:.

Non tutti i flag docker run hanno un equivalente compose — cose come --rm o --pull sono switch del ciclo di vita del contenitore senza un'impostazione compose per servizio. Lo strumento non li abbandona mai silenziosamente: i flag non supportati sono elencati come commenti accanto al servizio a cui appartengono, quindi sai esattamente cosa non è stato convertito. Disabilitare « mantieni l'ordine originale dei flag » ordina ogni elenco (porte, volumi, ambiente) alfabeticamente invece di mantenere l'ordine in cui li hai digitati, il che può rendere un diff generato più facile da rivedere.

Tutto viene eseguito localmente nel tuo browser — nessun comando, nome di immagine o variabile d'ambiente viene mai inviato da nessuna parte. Copia il risultato, scaricalo come file .txt o rimanda l'output all'input per continuare a perfezionarlo.

FAQ

Posso convertire più comandi docker run contemporaneamente?
Sì. Incolla un comando docker run per riga (o usa una barra rovesciata alla fine per continuare un comando su più righe) e ognuno diventa un servizio separato nel file compose generato.
Cosa succede ai flag che compose non può esprimere, come --rm?
Non vengono abbandonati silenziosamente. Ogni flag non supportato è elencato come commento accanto al servizio a cui appartiene, quindi sai esattamente cosa non è stato convertito.
Converte anche docker-compose.yml nuovamente in comandi docker run?
Sì. Cambia l'opzione direzione in « compose → docker run » e incolla un file compose; lo strumento stampa un comando docker run per ogni servizio.
Perché metterei le variabili d'ambiente in un file .env separato invece che nel file compose?
Mantiene i segreti e i valori per ambiente fuori dal controllo della versione quando il file compose stesso è committato. Scegli « File .env separato » e lo strumento sposta le variabili lì e le referenzia con env_file:.
Il mio comando o file compose viene caricato da qualche parte?
No. La conversione viene eseguita interamente nel tuo browser utilizzando JavaScript — nulla di ciò che incolla va mai da nessuna parte.