Top
Přejít na hlavní obsah
Služby
Návody > Seznam návodů > Jak na správu Docker kontejnerů

Jak na správu Docker kontejnerů

07 května 2020

Docker Ubuntu Virtualizace

V tomto návodu vám ukážeme, jak spravovat Docker kontejnery v systému Linux, stahovat image z Docker Hubu, vytvářet nové kontejnery a ukládat jejich image (obraz).

Pokud na svém serveru nemáte Docker, doporučujeme náš návod Jak nainstalovat Docker na Ubuntu 18.04

Stažení image

Kontejnery jsou tvořeny z tzv. image. Tyto image jsou stahovány z Docker Hubu, oficiální databáze.

Image může na Docker Hub nahrát kdokoliv. To umožňuje použít předem připravené image jako základ pro vaše aplikace.

Zadejte příkaz:

$ docker run centos

Docker Run CentOS

Docker vyhledá image "centos" v lokáním registru. Pokud jej nenajde (protože dosud nebyl stáhnut) Docker image automaticky stáhne z Docker Hubu a použije jej k sestavení kontejneru.

Použitý image neposkytuje žádný vizuální výstup, kontejner však můžete zobrazit příkazem:

$ docker ps

Pro zobrazení všech existujících kontejnerů, spuštěných i pozastavených, zadejte:

$ docker ps -a

Show Containers

Pro zobrazení seznamu stažených image zadejte:

$ docker images

Docker Show Images

Vytváření kontejnerů

Zkuste vytvořit kontejner pomocí image centos, který jste si stáhli v jednom z předchozích kroků:

$ docker run -it centos

Tag "-it" umožňuje přístup k shellu uvnitř kontejneru. Zobrazený shell není součástí vašeho operačního systému, nýbrž kontejneru: všechny příkazy budou provedeny na shellu OS uvnitř kontejneru (v tomto případě Ubuntu), nikoliv na shellu hostitele.

Pokud chcete opustit shell kontejneru a vrátit se do shellu hostitele, zadejte:

$ exit

Exit from the shell of container

Pro spuštění, zastavení nebo odstranění kontejneru zadejte:

$ docker start ID_or_container_name
$ docker stop ID_or_container_name
$ docker rm ID_or_container_name

Před spuštěním nebo odstraněním kontejneru musí být ve stavu "stop".
Před zastavením kontejneru musí být ve stavu "run".

Kontejnery jsou izolovaná prostředí, proto jsou dle definice uzavřené. Chcete-li komunikovat s jejich obsahem, namapujte komunikační port.

$ docker run -p 8081:80 -d nginx
  • •   “docker run”: příkaz pro spuštění kontejneru

  • •   “-p 8081:80”: odkryje port 80 kontejneru na portu 8081 hostitele

    • o   Pokud se jedná o kontejner, který je hostitelem webového serveru, přistupujte k němu pomocí "localhost:8081”

  • •   “-d”: spustit kontejner na pozadí

  • •   “nginx”: image použitý k vytvoření kontejneru

    • o   Pokud image není přítomný lokálně, bude stažen z Docker Hubu

NGINX Web Page

Vytváření image z kontejnerů

Po vytvoření kontejneru a provedení úprav se doporučuje vytvoření relativního image: vše, co je vloženo do kontejneru (instalace dalších modulů a další úpravy) zůstává v kontejneru, nikoliv v image použitém pro vytvoření. Pokud bude kontejner odebrán a znovu vytvořen, nebude vykazovat žádné dříve provedené změny.

Například, pokud jste vytvořili kontejner s image CentOS a naistalovali Nginx, pokud jej nyní odstraníte a znovu vytvoříte, nebude obsahovat Nginx, jelikož použitý image jej neobsahuje.

Pro vytvoření image kontejneru, čímž vytvoříte i zálohu pro opětovné vytvoření kontejneru se stejnými parametry, použijte příkaz:

$ docker commit -m "List of changes made" -a "User name" container_id repository/image_name
  • •   "-m" pro sestavení seznamu změn a získání protokolu, na který se odkazuje

  • •   "-a" pro označení jména uživatele, který image generuje

Tento příkaz uloží image do místního registru. Je možné jej zobrazit pomocí Docker images.

Image může být uložen také v Docker Hubu. To lze provést tak, že se připojíte do Docker Hubu pomocí Dockeru (z shellu) zadáním:

$ docker login -u username
  • Budete vyzváni k zadání hesla pro autentizaci na Docker Hubu.

$ docker push username/image_name

Začněte používat FORPSI Cloud

 ZAČÍT HNED POŽÁDAT O VOUCHER*

(*) FORPSI vám poskytne voucher s kreditem v hodnotě 160 Kč pro cloudové služby

TECHNOLOGIČTÍ PARTNEŘI: