Da docker run a Compose
docker run to Compose
Trasforma una riga di comando docker run nella definizione di un servizio compose, e converte anche nel verso opposto.
Converte una riga di comando `docker run` nel servizio `compose.yaml` che le corrisponde. Il comando viene suddiviso con le vere regole di quoting della shell, così un entrypoint scritto come `sh -c "…"` sopravvive con i suoi spazi e le sue virgolette intatti.
Comando docker run
compose.yaml
Note
- -d agisce solo sull’invocazione di docker run stessa; Compose non ha un equivalente, quindi è stata scartata.
sh -c "…" sopravvive con i suoi spazi. Le flag senza equivalente in Compose (--rm, -d) vengono scartate con una nota — il ciclo di vita lo decide Compose — e le flag sconosciute vengono nominate, mai ingoiate in silenzio. Le porte escono tra virgolette, altrimenti YAML 1.1 leggerebbe 8080:80 come un numero in base 60.Come si usa
Incollare il comando
Le continuazioni di riga, i valori fra virgolette e un comando finale dopo l’immagine sono tutti gestiti. Non viene eseguito niente: qui entra testo ed esce testo.
Leggere le note sotto l’uscita
I flag senza equivalente in Compose vengono elencati invece che scartati in silenzio, e un flag sconosciuto viene nominato. Quell’elenco è la parte che vale la pena controllare prima di committare il file.
Copiarlo nel proprio file compose
L’uscita è un solo servizio. Va messo sotto `services:` accanto a quello che c’è già, e se il comando non aveva un `--name` gli si dà il nome che si vuole.
Domande frequenti
Perché le porte sono fra virgolette?
Perché YAML 1.1 legge `8080:80` come un numero in base 60 — la sintassi sessagesimale che non voleva nessuno e che ogni parser YAML si è ereditata. Sono le virgolette a tenerlo una mappatura di porte. È la classica trappola di Compose.
Che fine hanno fatto `--rm` e `-d`?
Scartati con una nota, perché il ciclo di vita è di Compose. `docker compose up` è la decisione fra attaccato e staccato e `docker compose down` rimuove i container, quindi quei flag non hanno un equivalente a livello di servizio in cui tradurli.
Scrive un file compose intero?
Scrive il servizio. Le reti, i volumi al livello superiore e una chiave `version:` (che il Compose moderno non vuole più) restano da aggiungere a mano — e nella maggior parte dei casi non dovrebbero servire.
Può ricevere da
Calcolatrice dei permessi chmod
chmod Calculator
Converte fra la notazione ottale, quella simbolica e le caselle di spunta, compresi i bit setuid e sticky.
Lettore e convertitore di file .env
.env Parser & Converter
Analizza un file .env e lo converte in JSON, YAML, export di shell o nei formati di Docker e Kubernetes.
Esploratore di immagini Docker
Docker Image Explorer
Apre l’archivio tar di un’immagine esportata e mostra per ogni livello il comando, la dimensione e i file che ha aggiunto o cancellato.
Formattatore e validatore JSON
JSON Formatter & Validator
Formatta, minifica e valida il JSON, indicando riga e colonna esatte di un errore di sintassi.
Dopo
Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.
Esploratore di immagini Docker
Docker Image Explorer
Apre l’archivio tar di un’immagine esportata e mostra per ogni livello il comando, la dimensione e i file che ha aggiunto o cancellato.
Lettore e convertitore di file .env
.env Parser & Converter
Analizza un file .env e lo converte in JSON, YAML, export di shell o nei formati di Docker e Kubernetes.
Decodificatore di Secret di Kubernetes
Kubernetes Secret Decoder
Decodifica tutti i valori Base64 di un manifesto Secret e ricodifica quello modificato, pronto da applicare.
Formattatore e validatore YAML
YAML Formatter & Validator
Riporta il YAML a un’indentazione coerente, lo valida e segnala gli errori di tabulazione e di ancora che rompono i parser.
Codificatore e decodificatore Base64
Base64 Encoder & Decoder
Codifica e decodifica in Base64 e Base64URL testo o file, trattando correttamente l’UTF-8.
Da curl a codice
curl to Code
Converte un comando curl in fetch, axios, requests di Python, Go, PHP o PowerShell.