Jak opustíte ukotvitelný kontejner?
Předpokládejme, že spustíte ukotvitelný kontejner v interaktivním režimu, jako je tento:
docker run -it ubuntu bash
Tímto způsobem získáte interaktivní shell a jste okamžitě přihlášeni do operačního systému běžícího jako kontejner.
Chcete-li opustit tento spuštěný kontejner, můžete použít ctrl+c, ctrl+d nebo zadat exit v terminálu.
Je tu jeden problém. Pokud kontejner opustíte tímto způsobem, váš kontejner se také zastaví.
[email protected]:~$ docker run -it ubuntu bash
[email protected]:/# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[email protected]:/# exit
exit
[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Jak můžete vidět na výstupu výše, příkaz docker ps neukazuje žádné spuštěné kontejnery.
Opustit dokovací kontejner bez jeho zastavení (odpojit kontejner)
Zde můžete odpojit kontejner postupným stisknutím kláves ctrl+p a ctrl+q . Vím, že je to pro uživatele Linuxu zvláštní klávesová zkratka, ale takhle to můžete snadno udělat.
Po odpojení bude váš kontejner pokračovat v provozu, i když kontejner opustíte. Vaše interaktivní relace dockeru je nyní v režimu démona.
Můžete to ověřit pomocí docker ps
příkaz, abyste jej viděli v seznamu spuštěných kontejnerů.
Až jej budete chtít znovu použít, můžete kontejner znovu připojit.
Tip:Spouštějte kontejner v režimu démona, kdykoli je to možné
Vždy dávám přednost spouštění kontejnerů v režimu démona, jako je tento:
docker run -it -d docker_image_name bash
Tímto způsobem se kontejner spustí a běží na pozadí. Příznak i znamená interaktivní a příznak t znamená tty. V podstatě vám to dává interaktivní shell, který spouští bash, ale není k dispozici okamžitě.
Běžící kontejner můžete zadat tímto způsobem:
docker exec -it container_id bash
Doufám, že tento rychlý malý docker tip byl pro vás užitečný. Zůstaňte naladěni na další tipy pro docker.
Pokud máte nějaké dotazy nebo návrhy, neváhejte se zeptat v sekci komentářů.