Pokud se pohybujete v IT průmyslu, je vysoká pravděpodobnost, že jste o Dockeru už slyšeli, pokud nežijete v jeskyni nebo ve vzdálené oblasti, která je zcela uzavřena před zbytkem světa. Docker je opensource kontejnerizační technologie, která způsobila revoluci ve způsobu, jakým vývojáři vyvíjejí a nasazují aplikace. Umožňuje vývojovým týmům vytvářet, spravovat a nasazovat aplikace uvnitř kontejnerů. Kontejner je samostatný předem sestavený softwarový balík, který obsahuje vlastní knihovny a závislosti. Kontejnery běží v naprosté izolaci hostitelského operačního systému a také od sebe navzájem.
Docker nabízí obrovské výhody. Před kontejnerizací se vývojáři setkávali s problémy při psaní a nasazování kódu v různých variantách Linuxu. Aplikace by fungovala perfektně na jednom systému, ale na jiném systému by selhala. Docker standardizuje nasazení kódu a zajišťuje, že aplikace mohou hladce běžet v různých výpočetních prostředích, aniž by se dostaly do problémů se závislostmi nebo chyb. Kontejnery navíc přispívají k obrovským úsporám z rozsahu. Docker je šetrný ke zdrojům, lehký a poměrně efektivní.
V této příručce nainstalujeme Docker na Arch Linux a také se naučíme, jak používat docker ke spouštění kontejnerů.
Předpoklady
- Archivujte instanci Linuxu s přístupem SSH
- Nakonfigurován uživatel sudo
- Stabilní připojení k internetu
Krok 1) Nainstalujte Docker na Arch Linux
Existují různé způsoby, jak nainstalovat Docker. Můžete nainstalovat stabilní balíček, který je umístěn v úložišti komunity Arch, nebo jej nainstalovat z AUR.
Chystáme se však nainstalovat Docker na Arch Linux z úložiště pomocí příkazu, jak je znázorněno.
$ sudo pacman -S docker
Krok 2) Správa Dockeru
Docker běží jako služba démona stejně jako jiné služby, jako je Apache nebo SSH. To znamená, že můžete spustit, zastavit, restartovat a povolit službu Docker.
Po dokončení instalace spusťte docker a pomocí níže uvedených příkazů povolte jeho spuštění při spuštění.
$ sudo systemctl start docker $ sudo systemctl enable docker
Chcete-li potvrdit, že služba dockeru běží, zadejte příkaz:
$ sudo systemctl status docker
Níže uvedený výstup jasně ukazuje, že Docker je v provozu.
Chcete-li zastavit docker, vyvolejte příkaz:
$ sudo systemctl stop docker
Kromě toho můžete ověřit verzi Dockeru, kterou používáte, pomocí zobrazeného příkazu verze dockeru.
$ sudo docker version
Jak testovat a používat docker
Abychom otestovali, zda vše funguje podle očekávání, spustíme následující příkaz docker a spustíme kontejner „hello-world“
$ sudo docker run hello-world
Když je příkaz vyvolán, docker kontaktuje centrum Docker a stáhne obrázek dockeru s názvem „hello-world“. Docker poté vytvoří nový kontejner, který spustí spustitelný skript, který streamuje zprávu ‚Hello from Docker!‘.
Chcete-li stáhnout nebo stáhnout obrázek z centra Docker bez jeho spuštění, použijte syntaxi:
$ sudo docker pull
Chcete-li například stáhnout obrázek Nginx, spusťte:
$ sudo docker pull nginx
Chcete-li zkontrolovat obrázky umístěné ve vašem systému, vyvolejte:
$ sudo docker images
Z výstupu můžete vidět, že máme zatím dva obrázky:obrázek Nginx a obrázek hello-world, který byl stažen dříve. Výstup poskytuje další informace, jako je úložiště, značka obrázku, ID obrázku, datum úpravy a velikost obrázku.
Chcete-li spustit obrázek, vyvolejte příkaz:
$ sudo docker spustit
Přímé spuštění obrazu však může způsobit, že terminál nebude reagovat, protože obraz obvykle běží na popředí. Proto se doporučuje spouštět jej na pozadí pomocí volby -d.
Chcete-li například spustit obrázek Nginx na pozadí, spusťte:
$ sudo docker run -d nginx
Chcete-li potvrdit aktuálně spuštěné kontejnery, zadejte příkaz:
$ sudo docker ps
Chcete-li zobrazit všechny kontejnery, jak běžící, tak ty, které byly dříve zastaveny, proveďte:
$ sudo docker ps -a
Výstup níže nám poskytuje aktuální kontejner Nginx a kontejner „Hello-world“, který jsme spustili dříve.
Chcete-li zastavit kontejner, použijte příkaz docker stop následovaný ID kontejneru. Chcete-li například zastavit kontejner Nginx, spusťte:
$ sudo docker stop 968ff5caba7f
Některé kontejnery vytvořené z obrazů OS mohou vyžadovat určitou interakci uživatele. Můžete například chtít pracovat s bitovou kopií kontejneru Ubuntu a získat přístup k shellu pro spouštění příkazů. Chcete-li toho dosáhnout, použijte parametr -it.
Abychom to lépe ilustrovali, stáhneme si obrázek dockeru Ubuntu 20.04.
$ sudo docker pull ubuntu:20.04
Nyní přistoupíme k shellu a spustíme příkazy uvnitř kontejneru.
$ sudo docker run -it ubuntu:20.04
Někdy můžete chtít spustit kontejner webového serveru a namapovat jeho port na hostitelský systém, abyste toho dosáhli, použijte zobrazenou volbu -p
$ sudo docker -p 8080:80 nginx
Port 80 je port, na kterém naslouchá kontejner Nginx, který je mapován na portu 8080 na hostiteli. Můžete to vyzkoušet přístupem k webovému serveru Nginx pomocí adresy IP hostitele, jak je uvedeno:
http://host-ip:8080
Závěr
Docker je bezpochyby výkonný a robustní nástroj, zejména v oblasti DevOPs. Zefektivňuje pracovní tok a pomáhá vývojářům bezproblémově vytvářet a nasazovat jejich aplikace bez nekonzistencí, které přicházejí s různými výpočetními prostředími. Sotva jsme poškrábali povrch, pokud jde o použití příkazů Docker. Další dokumentaci najdete v příručce pro začátečníky. Kromě toho existuje oficiální dokumentace, která vám pomůže orientovat se v Dockeru.