Docker je technologie kontejnerizace, která umožňuje rychle vytvářet, testovat a nasazovat aplikace jako přenosné, soběstačné kontejnery, které lze spustit prakticky kdekoli. Docker se stal de facto standardem pro nasazení kontejnerů a je nezbytným nástrojem pro inženýry DevOps a jejich průběžnou integraci a doručovací potrubí.
V tomto tutoriálu probereme, jak nainstalovat Docker na počítač s Ubuntu 18.04 a prozkoumáme základní koncepty a příkazy Dockeru.
Předpoklady #
Než budete pokračovat v tomto tutoriálu, ujistěte se, že jste přihlášeni jako uživatel s právy sudo. Všechny příkazy v tomto tutoriálu by měly být spouštěny jako uživatel bez oprávnění root.
Instalace Dockeru na Ubuntu #
Přestože je instalační balíček Docker dostupný v oficiálním úložišti Ubuntu 18.04, nemusí se vždy jednat o nejnovější verzi. Doporučený přístup je nainstalovat nejnovější balíček Docker z úložišť Dockeru.
Povolení úložiště Docker #
-
Začněte aktualizací seznamu balíčků a instalací závislostí nezbytných k přidání nového úložiště přes HTTPS:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
-
Importujte klíč GPG úložiště pomocí následujícího
curl
příkaz:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-
Přidejte do svého systému úložiště Docker APT:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Instalace Docker CE #
Nyní, když je povoleno úložiště Docker, můžete nainstalovat jakoukoli verzi Docker, kterou potřebujete.
-
Chcete-li nainstalovat nejnovější verzi Dockeru, použijte příkaz níže. Pokud chcete nainstalovat konkrétní verzi Dockeru, přeskočte tento krok a přejděte k dalšímu.
sudo apt update
sudo apt install docker-ce
-
Chcete-li nainstalovat konkrétní verzi, nejprve uveďte dostupné verze v úložišti Docker:
apt list -a docker-ce
Příkaz vytiskne dostupné verze Dockeru ve druhém sloupci.
docker-ce/bionic 5:18.09.7~3-0~ubuntu-bionic amd64 docker-ce/bionic 5:18.09.6~3-0~ubuntu-bionic amd64 docker-ce/bionic 5:18.09.5~3-0~ubuntu-bionic amd64
Chcete-li například nainstalovat verzi
18.09.6
byste napsali:sudo apt install docker-ce=5:18.09.6~3-0~ubuntu-bionic
Chcete-li zabránit automatické aktualizaci balíčku Docker, označte jej jako pozastavený:
sudo apt-mark hold docker-ce
Po dokončení instalace se služba Docker automaticky spustí. Můžete to ověřit zadáním:
sudo systemctl status docker
Výstup bude vypadat nějak takto:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor p
Active: active (running) since Tue 2019-07-02 11:28:40 UTC; 15min ago
Docs: https://docs.docker.com
Main PID: 11911 (dockerd)
Tasks: 10
CGroup: /system.slice/docker.service
Provádění příkazu docker bez sudo #
Ve výchozím nastavení vyžaduje spouštění příkazů Dockeru oprávnění správce.
Chcete-li spouštět příkazy Dockeru jako uživatel bez oprávnění root bez přidání sudo
musíte svého uživatele přidat do docker
skupina. Tato skupina se vytváří během instalace balíčku Docker CE. Chcete-li to provést, spusťte následující příkaz:
sudo usermod -aG docker $USER
$USER
je proměnná prostředí, která obsahuje vaše uživatelské jméno.
Pro obnovení členství ve skupině se odhlaste a znovu přihlaste.
Chcete-li ověřit, že byl Docker úspěšně nainstalován a že můžete spouštět příkazy dockeru bez přidání sudo
, spustit:
docker container run hello-world
Příkaz stáhne testovací obrázek, spustí jej v kontejneru, vytiskne zprávu „Hello from Docker“ a skončí. Výstup by měl vypadat takto:
Upgrade Dockeru #
Po vydání nové verze Dockeru můžete balíček aktualizovat pomocí standardního procesu aktualizace:
sudo apt update
sudo apt upgrade
Odinstalování Dockeru #
Před odinstalováním Dockeru odeberte všechny kontejnery, obrazy, svazky a sítě.
Docker můžete odinstalovat jako jakýkoli jiný balíček nainstalovaný pomocí apt
:
sudo apt purge docker-ce
sudo apt autoremove
Rozhraní příkazového řádku Dockeru #
Příkaz rozhraní příkazového řádku Dockeru má tento tvar:
docker [option] [subcommand] [arguments]
Chcete-li zobrazit všechny dostupné příkazy, zadejte docker
bez parametrů:
docker
Pokud potřebujete další pomoc s jakýmkoli [subcommand]
, můžete použít --help
přepněte, jak je znázorněno níže:
docker [subcommand] --help
Obrázky dockeru #
Obraz Dockeru se skládá z řady vrstev souborového systému představujících instrukce v Dockerfilet obrázku, které tvoří spustitelnou softwarovou aplikaci. Obrázek je neměnný binární soubor obsahující aplikaci a všechny další závislosti, jako jsou knihovny, binární soubory a pokyny nezbytné pro spuštění aplikace.
Obraz Dockeru si můžete představit jako snímek kontejneru Docker.
Většina obrázků Dockeru je k dispozici na Docker Hub. Docker Hub je cloudová registrační služba, která se kromě jiných funkcí používá k uchovávání obrazů Dockeru ve veřejných nebo soukromých úložištích.
Vyhledat obrázek Dockeru #
Chcete-li vyhledat obrázek z registru Docker Hub, použijte search
dílčí příkaz.
Chcete-li například vyhledat obrázek Ubuntu, zadejte:
docker search ubuntu
Výstup by měl vypadat takto:
Jak vidíte, vyhledávání vytiskne tabulku s pěti sloupci NAME
, DESCRIPTION
, STARS
, OFFICIAL
a AUTOMATED
.
Oficiální image je image, kterou Docker vyvíjí ve spolupráci s upstream partnery.
Většina obrázků Docker na Docker Hub je označena čísly verzí. Pokud není zadána žádná značka, Docker načte nejnovější.
Stáhnout obrázek Dockeru #
Chcete-li si například stáhnout nejnovější oficiální sestavení obrazu Ubuntu 18.04, použijte následující image pull
příkaz:
docker image pull ubuntu
V závislosti na rychlosti vašeho internetu může stahování trvat několik sekund nebo minut.
Když neuvedete značku, Docker stáhne nejnovější obrázek Ubuntu, který je v době psaní tohoto článku 18.04.
Pokud si chcete stáhnout předchozí verzi Ubuntu, řekněme Ubuntu 16.04, musíte použít docker image pull ubuntu:16.04
.
Chcete-li zobrazit seznam všech stažených obrázků, zadejte:
docker image ls
Výstup bude vypadat nějak takto:
Odebrat obrázek Dockeru #
Pokud z nějakých důvodů chcete smazat obrázek, můžete to udělat pomocí image rm [image_name]
dílčí příkaz:
docker image rm ubuntu
Docker Containers #
Instance obrázku se nazývá kontejner. Kontejner představuje běhové prostředí pro jednu aplikaci, proces nebo službu.
Možná to není nejvhodnější srovnání, ale pokud jste programátor, můžete si představit obrázek Dockeru jako třídu a kontejner Docker jako instanci třídy.
Můžeme spustit, zastavit, odstranit a spravovat kontejner pomocí docker container
dílčí příkaz.
Spustit kontejner Docker #
Následující příkaz spustí kontejner Docker na základě obrazu Ubuntu. Pokud obrázek nemáte lokálně, stáhne si jej nejprve:
docker container run ubuntu
Na první pohled se vám může zdát, že se vůbec nic nestalo. No, to není pravda. Kontejner Ubuntu se zastaví okamžitě po spuštění, protože nemá dlouhotrvající proces a neposkytli jsme žádný příkaz. Kontejner se spustil, spustil prázdný příkaz a pak skončil.
Přepínač -it
nám umožňuje komunikovat s kontejnerem prostřednictvím příkazového řádku. Spuštění interaktivního kontejneru typu:
docker container run -it ubuntu /bin/bash
[root@719ef9304412 /]#
Jak můžete vidět z výstupu výše, jakmile je kontejner spuštěn, příkazový řádek se změní. To znamená, že nyní pracujete zevnitř kontejneru.
Vypsat kontejnery dockeru #
Chcete-li zobrazit aktivní kontejnery, zadejte:
docker container ls
Pokud nemáte spuštěné žádné kontejnery, výstup bude prázdný.
Chcete-li zobrazit aktivní i neaktivní kontejnery, předejte jim -a
přepínač:
docker container ls -a
Odebrat kontejnery Docker #
Chcete-li smazat jeden nebo více kontejnerů, zkopírujte ID kontejneru (nebo ID) a vložte je za container rm
dílčí příkaz:
docker container rm c55680af670c