Docker je základní nástroj pro snadnou instalaci aplikací, které mohou spouštět vaše weby a služby, a jeho správa je ještě snadnější pomocí docker-compose.
Některé projekty se nedodávají se soubory docker-compose a je časově náročné je vytvořit sami. docker-autocompose dokáže vygenerovat funkční soubor docker-compose z libovolného spuštěného kontejneru Docker.
Některé aplikace Docker nemají soubory pro vytváření souborů
Docker je platforma s otevřeným zdrojovým kódem pro nasazování aplikací v přibalených komponentách známých jako kontejnery. Při používání Dockeru se nemusíte starat o závislosti nebo interakce mezi službami, protože ty jsou obvykle do určité míry předkonfigurovány.
Docker můžete použít k nasazení aplikací včetně specializovaných serverů, distribucí Linuxu nebo vlastních obrazů. Spouštění aplikací pomocí Dockeru je relativně snadné a může zajistit, že budete mít vždy nejnovější verzi softwaru.
Pokud neznáte koncept dockerizovaných aplikací, měli byste si přečíst našeho základního průvodce proč byste měli používat Docker místo virtuálního počítače.
Příkazy Dockeru jsou dlouhé a obvykle se provádějí jako jeden příkaz, který obsahuje všechny relevantní proměnné. Jejich zadávání je nepohodlné, a přestože můžete do svého souboru .bashrc přidat alias, často se stává, že opakovaně klepáte Ctrl + R najít přesně požadovaný příkaz Docker.
Docker Compose je nástroj, který vám pomůže s interakcí a orchestrací mezi kontejnery. Je tak efektivní, že vám pomáhá spravovat kontejnery Docker, že se mnoho uživatelů vůbec nenaučí Docker používat. Proč byste, když vše, co potřebujete udělat, je stáhnout jeden soubor YAML a vyvolat jej pomocí jednoduchého dvouslovného příkazu?
Zatímco mnoho aplikací, které lze nasadit pomocí Dockeru, má soubory Compose, ne všechny je mají, což ztěžuje rychlé a čisté instalace a nasazení Dockeru. To je běžné zejména u aplikací pro méně mainstreamový hardware, jako jsou ARM64 a ARMhf.
Pokud dáváte přednost použití docker-compose před nezpracovaným Dockerem, můžete se rozhodnout nepoužívat konkrétní software, pokud v úložišti GitHub projektu není k dispozici praktický soubor docker-compose.yml.
docker-autocompose usnadňuje automatické generování nového souboru
docker-autocompose je aplikace Python, která dokáže vytvořit funkční soubor Compose z libovolného spuštěného kontejneru Docker.
To znamená, že musíte nejprve spustit příkaz docker, poté vzít vygenerovaný výstup a spustit aplikaci pomocí docker-compose v budoucnu, nebo jej můžete připojit k existujícímu souboru Compose a spravovat všechny své služby na jednou.
Jak nainstalovat docker-autocompose na Linux
Protože docker-autocompose přichází jako aplikace Python, musíte mít na svém systému Linux nainstalovaný Python PIP.
Chcete-li nainstalovat Python PIP na Debian nebo Ubuntu:
sudo apt Nainstalujte python3-pip
Nainstalujte PIP na Arch Linux a jeho deriváty pomocí:
sudo pacman -S python-pip
Chcete-li nainstalovat PIP na CentOS a Red Hat Enterprise Linux, spusťte:
sudo mňam Nainstalujte python3 python3-wheel
Mělo by být samozřejmé, že to také potřebujete mít nainstalované Docker a Docker Compose.
Naklonujte úložiště GitHub pro docker-autocompose a přesuňte se do nového adresáře:
git klon https://github.com/Red5d/docker-autocompose.git
CD docker-autocompose
Nyní nainstalujte docker-autocompose spuštěním:
sudopython3založit.pyNainstalujte
docker-autocompose je nyní nainstalován.
Ke generování nových souborů použijte docker-autocompose
Často při hledání základní linuxové aplikace, narazíte na úžasný projekt, který je dodáván s obrázky Docker, ale bez souboru Compose. Příkladem toho je vynikající IRC klient přístupný z prohlížeče, Odeslání.
Vytvořte adresář, který bude služba Dispatch používat:
mkdir ~/dispatch
Stáhněte a spusťte klienta na portu 8080 vašeho místního počítače pomocí:
docker spustit -p 8080:80 -v /home/david/dispatch:/data --restart no -d khlieng/odeslání
Navštivte localhost: 8080 ve svém prohlížeči a zkontrolujte, zda Dispatch funguje, a poté řekněte docker-autocompose, aby vygeneroval obsah souboru Compose ze spuštěného kontejneru pomocí:
sudo autocompose.py <název-nebo-id-kontejneru>
V tomto případě je název kontejneru odeslán a ID kontejneru se objeví jako výstup ve vašem terminálu ihned po spuštění příkazu docker.
Případně můžete vytvořit obsah souboru Compose, který můžete použít ke spuštění všech běžících kontejnerů Docker s:
sudo autocompose.py $(docker ps -aq)
Nebude vygenerován žádný soubor Docker Compose, takže musíte zkopírovat stdout do schránky a poté vytvořit nový soubor s:
nanodocker-compose.yml
Vložte obsah schránky, uložte a ukončete nano pomocí Ctrl + O, pak Ctrl + X.
Nyní můžete spustit všechny své kontejnery najednou pomocí:
docker-compose up -d
Případně můžete spustit docker-autocompose pomocí samotného Dockeru spuštěním:
docker spustit --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose <další-jména-nebo-id>
...což je příkaz, který vám připomene, proč pro začátek potřebujete docker-autocompose.
Okamžitě vytvářejte pracovní soubory skládání ze spuštěných kontejnerů Docker
Docker a Docker Compose jsou stále důležitější součástí ekosystému aplikací pro Linux a osvědčují se zvláště cenné pro self-hosting webů a služeb na všudypřítomné jednoduché desce Raspberry Pi počítač.
Pokud jste ještě nezačali svou cestu k vytvoření vlastního online ekosystému, měli byste se podívat na některé z úžasných webových projektů, které můžete provozovat na Pi.