Co je to Docker Container
Běžící instance obrázku se nazývá kontejner. Docker je spouští pomocí obrázků Docker jako šablon pouze pro čtení. Pokud spustíte obrázek, máte spuštěný kontejner tohoto obrázku. Přirozeně můžete mít mnoho spuštěných kontejnerů stejného obrázku. Používáme příkaz „docker run ” ke spuštění kontejneru.
Výpis kontejnerů Docker
Chcete-li zobrazit seznam kontejnerů, spusťte následující příkaz:
# docker ps [ OPTIONS ]
Chcete-li vypsat spuštěné i zastavené kontejnery, použijte volbu -a následovně:
# docker ps -a
zde,
ID KONTEJNERU – Jedinečné ID přidělené všem kontejnerům.
OBRÁZEK – Základní obrázek, ze kterého byl kontejner spuštěn.
COMMAND – Příkaz, který byl použit při spuštění kontejneru (výchozí je /bin/bash, pokud nezadáte žádný příkaz pomocí „docker run“).
CREATED – Čas, kdy byl kontejner vytvořen.
STATUS – Aktuální stav kontejneru (Up nebo Exited).
PORTS – Čísla portů, pokud existují, předána hostiteli dokovacího zařízení pro komunikaci s vnějším světem.
JMÉNA – Démon Dockers pojmenovává cluster nějakým vtipným způsobem. Můžete také zadat své vlastní jméno při vytváření kontejneru.
Chcete-li uvést pouze ID kontejneru, použijte -aq možnost.
# docker ps -qa eeae1186ea78 52249ba75f0f 709773bb7128
Chcete-li zobrazit poslední vytvořený kontejner (spuštěný nebo zastavený):
# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES eeae1186ea78 centos "/bin/bash" About a minute ago Up About a minute modest_hypatia
Spuštění kontejneru Docker
Ke spuštění kontejneru Docker použijte následující příkaz:
# docker run [ OPTIONS ] IMAGE[:TAG] [COMMAND] [ARG...]
Například:
# docker run -i -t --name=centos7_lab centos:latest /bin/bash
zde,
-i :Spustí kontejner v interaktivním režimu.
-t :přidělí pseudo-tty a připojí jej ke standardnímu vstupu
–name :Uživatelsky přívětivý název kontejneru. Pokud není název zadán, jako název kontejneru bude přiřazen náhodný řetězec.
Když spustíte příkaz docker s -t, okamžitě se připojíte ke kontejneru a uvidíte změnu příkazového řádku. Pro výstup z kontejneru můžete použít příkaz „exit“.
Poznámka :Když spustíte příkaz „docker run“ a soubor iamge není lokálně v systému dostupný, bude nejprve stažen z registru pomocí příkazů „docker search“ a „docker pull“ a teprve poté spustíte příkaz „docker run“.
Ve všech výše uvedených příkladech, když spustíte kontejner, jste do něj automaticky přihlášeni. A když opustíte kontejner, kontejner se zastaví. Pomocí -d můžete také nechat kontejner spuštěný, i když se odhlásíte volba. Například:
# docker run -itd --name=geeklab centos:latest /bin/bash cae760f70ec4bd232891364824773c2a3cac8f7854261108c474d304e6a5c5fa
Tady,
-d – Spouští kontejner na pozadí a tiskne ID kontejneru.
Zastavení kontejneru Docker
Můžete zastavit jeden nebo více (všech) kontejnerů najednou. Syntaxe příkazu k zastavení kontejneru dockeru je :
docker stop [-t|--time[=10]] CONTAINER [CONTAINER...]
Zde,
–čas/-t je doba odkladu pro čekání před zastavením kontejneru.
Například nejprve zkontrolujte, který kontejner běží.
# docker ps -q eeae1186ea78
Nyní k zastavení výše uvedeného kontejneru použijte příkaz níže.
# docker stop eeae1186ea78 eeae1186ea78
Chcete-li zastavit všechny kontejnery, spusťte níže uvedený příkaz:
# docker stop `docker ps -q`
Odstranění kontejneru Docker
Chcete-li odstranit kontejner dockeru, použijte syntaxi níže:
# docker rm [ OPTIONS ] CONTAINER [ CONTAINER ]
Například:
# docker rm eeae1186ea78 eeae1186ea78
Chcete-li odstranit kontejner, musíme jej nejprve zastavit. Pokud se například pokusíte odstranit spuštěný kontejner, zobrazí se chyba jako:
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cae760f70ec4 centos:latest "/bin/bash" 4 minutes ago Up 4 minutes geeklab
# docker rm cae760f70ec4 Error response from daemon: You cannot remove a running container cae760f70ec4bd232891364824773c2a3cac8f7854261108c474d304e6a5c5fa. Stop the container before a ttempting removal or force remove
Chcete-li tedy kontejner odstranit, nejprve jej zastavte a poté smažte.
# docker stop cae760f70ec4 cae760f70ec4
# docker rm cae760f70ec4 cae760f70ec4
Chcete-li násilně odstranit kontejner bez jeho zastavení, použijte -f možnost.
# docker rm -f 18a1924e8499 18a1924e8499
Chcete-li odstranit všechny kontejnery najednou, nejprve je všechny zastavte a poté smažte.
# docker stop `docker ps -q` # docker rm `docker ps -aq`Odstraňování problémů s Dockerem – „konflikt:nelze odstranit, obrázek je používán spuštěným kontejnerem“
Jak nainstalovat docker na CentOS / RHEL / Fedora