Sări la conținut
Complet local

docker run în Compose

Convertiți o comandă docker run în serviciu docker-compose.yml, sau invers.

Intrare
Ieșire

docker run în Compose

Lipiți o comandă docker run și acest instrument o rescrie ca serviciu docker-compose.yml, mapând imaginea, porturile, volume-urile, variabilele de mediu, rețeaua și politica de repornire la echivalentele lor în compose. Inversați opțiunea de direcție și funcționează și în cealaltă direcție: lipiți un fișier compose și obțineți înapoi comanda docker run echivalentă pentru fiecare serviciu, util atunci când aveți doar un fișier compose dar trebuie să reproduceți manual un container.

Lipiți mai mult de o comandă docker run, câte una pe linie, și fiecare devine un serviciu diferit în același fișier compose — practic pentru transformarea mai multor containere ad-hoc într-o stivă multi-serviciu adecvată. Comutatorii recunoscuți includ -p/--publish, -v/--volume, -e/--env, --network, --restart, --memory și --cpus (mapați la un bloc deploy.resources.limits), plus --name, --workdir, --user, --entrypoint, --label și --hostname. Variabilele de mediu pot rămâne în linie sub environment: sau pot fi mutate într-un fișier .env generat și referențiat cu env_file:, iar formatul fișierului compose poate fi scris cu sau fără o cheie version:.

Nu fiecare opțiune docker run are un echivalent în compose — lucruri cum ar fi --rm sau --pull sunt comutatoare de ciclu de viață al containerului fără o setare compose corespunzătoare per serviciu. Instrumentul nu le elimină niciodată în tăcere: opțiunile nesuportate sunt listate ca comentarii lângă serviciul căruia îi aparțin, deci știți exact ce nu a fost convertit. Dezactivarea "păstrării ordinii originale a steagurilor" sortează fiecare listă (porturi, volume-uri, mediu) alfabetic în loc să păstreze ordinea în care le-ați tastat, ceea ce poate ușura revizuirea unui diff generat.

Totul rulează local în browserul dvs — nicio comandă, nume de imagine sau variabilă de mediu nu este niciodată trimisă nicăieri. Copiați rezultatul, descărcați-l ca fișier .txt, sau trimiteți ieșirea înapoi la intrare pentru a continua să o perfecționați.

FAQ

Pot converti mai multe comenzi docker run deodată?
Da. Lipiți o comandă docker run pe linie (sau utilizați o bară oblică inversă la final pentru a continua o comandă pe mai multe linii) și fiecare devine un serviciu diferit în fișierul compose generat.
Ce se întâmplă cu opțiunile pe care compose nu le poate exprima, cum ar fi --rm?
Nu sunt eliminate în tăcere. Fiecare opțiune nesuportată este listată ca comentariu lângă serviciul căruia îi aparține, deci știți exact ce nu a fost convertit.
Convertește și docker-compose.yml înapoi în comenzi docker run?
Da. Comutați opțiunea de direcție la "compose → docker run" și lipiți un fișier compose; instrumentul tipărește o comandă docker run pentru fiecare serviciu.
De ce aș pune variabile de mediu într-un fișier .env separat în loc de fișierul compose?
Menține secretele și valorile specifice mediului în afara controlului versiunilor atunci când fișierul compose în sine este comis. Selectați "Fișier .env separat" și instrumentul mută variabilele acolo și le referențiază cu env_file:.
Comanda sau fișierul compose sunt încărcate undeva?
Nu. Conversia rulează complet în browserul dvs folosind JavaScript — nimic din ceea ce lipiți nu părăsește niciodată dispozitivul dvs.