Přeskočit na obsah
100% lokálně

docker run to Compose

Převeď příkaz docker run na službu docker-compose.yml, nebo naopak.

Vstup
Výstup

docker run to Compose

Vložte příkaz docker run a nástroj jej přepíše jako službu docker-compose.yml s mapováním image, portů, svazků, proměnných prostředí, sítě a zásady restartování na jejich ekvivalenty v compose. Přepněte možnost směr a funguje to také naopak: vložte compose soubor a dostanete ekvivalentný příkaz docker run pro každou službu, což je užitečné, když máte pouze compose soubor, ale potřebujete ručně reprodukovat jeden kontejner.

Vložte více než jeden příkaz docker run, jeden na řádek, a každý se stane vlastní službou ve stejném compose souboru — příjemné pro převedení několika ad-hoc kontejnerů na správný multi-service stack. Rozpoznávané přepínače zahrnují -p/--publish, -v/--volume, -e/--env, --network, --restart, --memory a --cpus (mapované na blok deploy.resources.limits), plus --name, --workdir, --user, --entrypoint, --label a --hostname. Proměnné prostředí mohou zůstat zabudované v environment: nebo být přesunuty do generovaného souboru .env odkazovaného pomocí env_file:, a formát compose souboru lze zapsat s klíčem version: nebo bez něj.

Ne každý příznak docker run má ekvivalent v compose — věci jako --rm nebo --pull jsou přepínače životního cyklu kontejneru bez odpovídajícího nastavení pro službu v compose. Nástroj je nikdy netiše nevynechá: nepodporované příznaky jsou uvedeny jako komentáře vedle služby, do které patří, takže vidíte přesně, co se nepřeneslo. Vypnutím možnosti 'zachovat původní pořadí příznaků' se každý seznam (porty, svazky, proměnné) seřadí abecedně místo zachování pořadí, v jakém jste je zadali, což může usnadnit kontrolu generovaného diffu.

Všechno běží lokálně ve vašem prohlížeči — žádný příkaz, název image ani proměnná prostředí se nikdy nikam neposlat. Zkopírujte výsledek, stáhněte si ho jako soubor .txt nebo pošlete výstup zpět do vstupu, abyste ho mohli dále vylepšovat.

Časté dotazy

Mohu převést více příkazů docker run najednou?
Ano. Vložte jeden příkaz docker run na řádek (nebo použijte zpětné lomítko k pokračování příkazu na další řádku) a každý se stane samostatnou službou v generovaném compose souboru.
Co se stane s příznaky, které compose nemůže vyjádřit, jako je --rm?
Nejsou tiše vypuštěny. Každý nepodporovaný příznak je uveden jako komentář vedle služby, do které patří, takže víte přesně, co se nepřeneslo.
Převádí také docker-compose.yml zpět na příkazy docker run?
Ano. Přepněte možnost směr na 'compose → docker run' a vložte compose soubor; nástroj vytiskne jeden příkaz docker run pro každou službu.
Proč bych měl/měla dávat proměnné prostředí do samostatného souboru .env místo do compose souboru?
Udržuje to tajemství a hodnoty specifické pro prostředí mimo správy verzí, když je samotný compose soubor potvrzen. Vyberte 'Oddělený soubor .env' a nástroj přesune proměnné tam a odkazuje na ně pomocí env_file:.
Je můj příkaz nebo compose soubor poslán někam?
Ne. Převod běží zcela ve vašem prohlížeči pomocí JavaScriptu — cokoli, co vložíte, nikdy neopustí vaše zařízení.