Docker je projekt s otevřeným zdrojovým kódem, který poskytuje otevřenou platformu pro vývojáře a správce systému pro vytváření, balení a spouštění aplikací kdekoli jako odlehčený kontejner. Docker automatizuje nasazení aplikací uvnitř softwarových kontejnerů. Vývoj dockeru zahájil Solomon Hykes jako interní projekt v dotCloud, podnikové platformě PaaS (platforma jako služba), ale software je nyní spravován komunitou dockerů a společností Docker Inc. Více o Dockeru naleznete v dokumentaci zde https://docs.docker.com/.
Docker vyžaduje pro instalaci 64bitovou architekturu a jádro Linuxu musí být 3.10 nebo novější. Zde budu používat Ubuntu 18.04 LTS (Bionic Beaver) s verzí jádra 4.15.0.
Co byste měli vědět o Dockeru
Zde jsou základní pojmy ve světě dockerů, které byste měli znát.
Obrázky dockeru
Obrázek Dockeru je základní šablonou pro kontejner Docker. Obraz obvykle obsahuje operační systém a aplikace, které lze snadno nainstalovat. Ke spuštění kontejneru se používá obraz Dockeru, můžete najít mnoho obrazů s různými operačními systémy a softwarem, který byl nainstalován v Docker Hub https://hub.docker.com/.
Docker Container
Docker Container je obrázek, který lze číst a zapisovat do něj, který běží nad obrazem Dockeru. Docker používá systém union-file-system jako backend pro kontejner; veškeré změny provedené v kontejneru budou uloženy v nové vrstvě nad základním obrázkem. Kontejner je vrstva, kam instalujeme aplikace. Každý kontejner běží izolovaně na hostitelském počítači, a proto poskytuje zabezpečenou aplikační platformu.
Registr Docker
Registr Docker je úložiště obrázků Docker. Poskytuje veřejné a soukromé úložiště. Veřejný registr Docker se nazývá Docker Hub. Zde můžeme tlačit a vytahovat vlastní obrázky.
Instalace Dockeru na Ubuntu 18.04
V této části vás provedeme instalací dockeru. Před instalací softwaru zkontrolujte verzi jádra a architekturu operačního systému. Další příkazy musí být spuštěny jako uživatel root. Spusťte tento příkaz, abyste se stali rootem ve vašem systému Ubuntu.
sudo su
Poté spusťte uname -a a zkontrolujte verzi aktuálně běžícího linuxového jádra.
uname -a
Můžete vidět, že používám jádro verze 4.15.0 s 64bitovým jádrem (x86_64).
Chcete-li zkontrolovat verzi Ubuntu, spusťte:
cat /etc/lsb-release
Příkaz ukazuje, že verze Ubuntu je 18.04.
Před instalací nového softwaru se doporučuje aktualizovat Ubuntu. Spuštěním následujícího příkazu načtěte nejnovější aktualizace z úložiště Ubuntu a nainstalujte je.
sudo apt-get update
sudo apt-get upgrade
Nyní jsme připraveni nainstalovat Docker na server.
K instalaci Dockeru můžeme použít balíčky z 'Ubuntu Repository' nebo pomocí balíčků z 'Docker Repository'.
Instalovat Docker z úložiště Ubuntu
Pokud chcete nainstalovat verzi dockeru z úložiště Ubuntu, můžete spustit příkaz apt níže.
sudo apt install docker.io
Počkejte, dokud nebude instalace dokončena, poté můžete spustit Docker a přidat jej do doby spouštění pomocí příkazu systemctl:
systemctl start docker
systemctl enable docker
Můžete také zkontrolovat verzi dockeru:
docker --version
A docker 17.12 získáte nainstalovaný z úložiště Ubuntu.
Instalovat Docker z úložiště Docker
Před instalací docker-ce z úložiště Docker nainstalujte některé závislosti pomocí příkazu apt, jak je znázorněno níže.
sudo apt install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
Po dokončení instalace přidejte klíč dockeru a „noční“ úložiště dockeru.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic nightly" > /etc/apt/sources.list.d/docker-nightly.list
a aktualizujte úložiště.
sudo apt update
Nyní bylo do systému přidáno úložiště dockerů.
Zkontrolujte všechny balíčky docker poskytované úložištěm docker pomocí příkazu apt-cache.
sudo apt search docker-ce
sudo apt-cache policy docker-ce
A uvidíte různé verze dockeru, jak je uvedeno níže.
Nainstalujte jej pomocí příkazu apt níže.
sudo apt install docker-ce
Po dokončení instalace spusťte službu docker a povolte její spuštění při každém spuštění systému.
systemctl start docker
systemctl enable docker
Nyní zkontrolujte verzi dockeru nainstalovanou v systému.
docker --version
A získáte nainstalovaný docker 18.x v systému. Nyní můžete začít vytvářet kontejner stažením obrázku Docker z registru Docker.
Spuštění Dockeru jako uživatel bez oprávnění root
Aby bylo možné spustit docker jako normální uživatel/uživatel bez oprávnění root, musíme přidat nového uživatele systému. Přidáme nového uživatele s názvem 'hakase' a poté jej přidáme do skupiny 'docker'.
Přidat uživatele 'hakase'.
useradd -m -s /bin/bash hakase
passwd hakase
Přidejte použití 'hakase' do skupiny 'docker'.
usermod -aG docker hakase
Nyní se přihlaste jako uživatel 'hakase' a spusťte příkaz docker.
su - hakase
docker run hello-world
A z dockeru získáte ahoj svět.
Základní použití Dockeru
V této části vám ukážu běžně používané možnosti příkazu docker. Např. jak stáhnout obrázek dockeru, vytvořit kontejner a jak k němu přistupovat.
Chcete-li vytvořit nový kontejner, měli byste začít výběrem základního obrazu s OS, např. ubuntu nebo centos nebo jiný. Základní obrázek můžete vyhledat pomocí příkazu docker search:
docker search ubuntu
Tento příkaz vám zobrazí všechny obrázky ubuntu. Můžete si sami vyzkoušet docker search centos atd.
Nyní je čas stáhnout základní obrázek na náš server, použijte příkaz:
docker pull ubuntu
Příkaz docker pull image-name stáhne obrázek na váš server z registru docker/DockerHub.
Nyní můžete zobrazit všechny stažené obrázky pomocí příkazu:
docker images
Obraz Ubuntu byl stažen z registru DockerHub/Docker. Dalším krokem je vytvoření kontejneru z tohoto obrázku.
K vytvoření kontejneru můžete použít docker create nebo docker run.
docker create ubuntu:18.04
Příkaz docker create vytvoří nový kontejner, ale nespustí jej. Nyní tedy můžete použít příkaz run:
docker run -i -t ubuntu:18.04 /bin/bash
Tento příkaz vytvoří a spustí kontejner založený na obrazu ubuntu 18.04 a spustí příkaz /bin/bash uvnitř kontejneru, po spuštění příkazu budete automaticky uvnitř kontejneru.
Kontejner se zastaví, když jej opustíte příkazem exit. Pokud chcete mít kontejner spuštěný na pozadí, stačí do příkazu přidat volbu -d.
docker run -i -t -d ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
Poznámka:
/bin/sh -c "přitom pravda; echo ahoj světe; spánek 1; hotovo" toto je bash skript, který navždy opakuje "ahoj slovo".
Nyní můžete vidět kontejner běžící na pozadí pomocí následujícího příkazu:
docker ps
nebo pokud chcete vidět výsledky protokolů z tohoto příkazu bash, můžete použít příkaz:
docker logs NAMES/ContainerID
Jak mohu získat přístup k shellu kontejneru, který běží v režimu na pozadí?
Tento příkaz vás připojí k shellu kontejneru:
docker exec -i -t NAMES/ContainerID /bin/bash
Zadejte spuštěný kontejner Docker.
Můžete vidět, že název hostitele a ID kontejneru jsou stejné, to znamená, že jste uvnitř shellu kontejneru. Když do tohoto shellu napíšete `exit`, opustíte tento shell, ale kontejner stále běží.
Další příkaz, který budete často používat, je:
docker stop NAME/ContainerID
Tím se kontejner zastaví, aniž by byl smazán, takže jej můžete znovu spustit příkazem:
docker start NAME/ContainerID
Pokud chcete kontejner odstranit, nejprve jej zastavte a poté jej odeberte příkazem:
docker rm NAME/ContainerID
Toto je jen krátký úvod k instalaci a základnímu použití Dockeru na Ubuntu, podrobnou stránku dokumentace Dockeru najdete zde.
Podrobný úvod do Dockeru je k dispozici v této sérii výukových programů Howtoforge:https://www.howtoforge.com/tutorial/how-to-use-docker-introduction/
Závěr
Docker je open source platforma pro virtualizaci kontejnerů, která pomáhá vývojářům nasazovat jejich aplikace a systémovým administrátorům spravovat aplikace v bezpečném prostředí virtuálních kontejnerů. Docker běží na 64bitové architektuře Intel / AMD a jádro by mělo být vyšší verze 3.10. S Dockerem můžete vytvářet a spouštět svou aplikaci v kontejneru a poté bez obav přesunout kontejnery na jiné počítače s dockerem.