Come si usa
- Incolla a sinistra i comandi docker run. Funzionano comandi su più righe con barre inverse finali; separa più comandi con nuove righe, punto e virgola o &&.
- Il file Compose appare a destra. Ogni comando diventa un servizio chiamato come --name oppure come l'immagine se non c'è un nome.
- Controlla la nota gialla per ciò che non è stato convertito, poi copia o scarica compose.yaml ed esegui docker compose up -d.
Opzioni spiegate
- Flag supportati
- -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 e altri.
- Volumi e reti con nome
- I volumi con nome (come pgdata:/data) vengono dichiarati sotto volumes al livello principale. Le reti personalizzate sono dichiarate come external true, quindi viene usata una rete esistente. Le reti host e none diventano network_mode.
- Porte
- Le mappature delle porte sono sempre racchiuse tra virgolette. YAML 1.1 legge valori come 22:22 come numeri in base 60 e la documentazione Docker consiglia di scrivere le porte come stringhe.
- Flag ignorati
- -d e --rm non hanno equivalenti in Compose e vengono rimossi. Flag non supportati come --gpus vengono elencati nella nota.
Esempio
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
diventa:
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
Domande frequenti
Il file deve avere una riga version?
No. Docker Compose attuale (v2) non usa più il campo version al livello principale; se presente viene ignorato con un avviso.
Le password nelle variabili d'ambiente vengono caricate?
No. Analisi e conversione avvengono nel browser e nulla viene inviato a un server.
Gestisce gli argomenti tra virgolette?
Sì. Virgolette singole, doppie e escape con barra inversa seguono le regole della shell, quindi -e «MSG=hello world» mantiene l'intero valore.
Privacy
Questo strumento funziona interamente nel tuo browser. File e testi vengono elaborati sul tuo dispositivo e non vengono mai caricati sui nostri server.