GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Docker Tutorial – Začínáme s Dockerem v Linuxu

Tento podrobný výukový program Docker obsahuje základy příkazů Docker, například jak vytvořit nový kontejner, jak spustit kontejner, odstranit kontejner, jak vytvořit vlastní image Dockeru z kontejneru a tak dále. Pojďme začít!

Pokud jste Docker ještě nenainstalovali, postupujte podle následujících příruček:

  • Jak nainstalovat Docker v CentOS
  • Jak nainstalovat Docker v Ubuntu

Začínáme s Dockerem v Linuxu

Všechny kroky uvedené níže jsou testovány v serverové edici Ubuntu 18.04 LTS.

Než začneme s Dockerem, dovolte mi objasnit, co je to obrázek Dockeru a kontejner Dockeru.

Docker Image je soubor, který rozhoduje o tom, jak se má kontejner chovat, a Docker Container je spuštěná nebo zastavená fáze obrazu Dockeru.

Kontejnery jsou izolované od zbytku hostitelských souborů.

Když spustíme kontejner Docker, používá izolovaný souborový systém, který poskytuje obraz Dockeru. Obraz Dockeru se skládá ze všeho potřebného ke spuštění aplikace – všechny závislosti, konfigurace, skripty, binární soubory atd.

Obrázek také obsahuje další konfiguraci kontejneru, jako jsou proměnné prostředí, výchozí příkaz ke spuštění a další metadata.

1. Prohledejte obrázky Docker

Obrázky můžeme získat buď z registru, například Docker hub , nebo si vytvořte vlastní,  Pro ty, kdo by se divili, Docker hub je online centrální úložiště, kde všichni uživatelé Dockeru vytvářejí, testují a ukládají své obrázky Docker.

Centrum Docker obsahuje desítky tisíc obrázků Docker. Všechny obrázky Dockeru můžete vyhledat pomocí "docker search" příkaz.

Chcete-li například vyhledat obrázky dockeru založené na Ubuntu, spusťte:

$ sudo docker hledat ubuntu

Ukázkový výstup:

Chcete-li vyhledávat obrázky založené na CentOS, spusťte:

$ sudo docker hledat ubuntu

Chcete-li vyhledat obrázky pro AWS, spusťte:

$ sudo docker search aws

Pro wordpress:

$ sudo docker hledat ve wordpressu

Docker hub má téměř všechny druhy obrázků. Ať už jde o operační systém, aplikaci nebo cokoli jiného, ​​v centru Docker najdete předem vytvořené obrazy Dockeru.

Pokud něco, co hledáte, není k dispozici, můžete to vytvořit a zpřístupnit veřejnosti nebo ponechat soukromé pro vlastní použití.

2. Stáhněte si obrázek Docker

Chcete-li stáhnout bitovou kopii Docker pro OS Ubuntu, spusťte z Terminálu následující příkaz:

$ sudo docker pull ubuntu

Výše uvedený příkaz stáhne nejnovější bitovou kopii Ubuntu z centra Docker .

Ukázkový výstup:

Používání výchozí značky:nejnovější nejlépe:tažení z knihovny/ubuntu6abc03819f3e:tažení kompletní 05731e63f211:pull complete 0bd67c50d6be:pull compleged:sha256:f0863101620nf6b2F106F0F6b2F10F0F6b2F10F6b2F6b20F6b2F6b20151510F6B2F10F6b201510F6B2ONTO/

Můžete si také stáhnout konkrétní verzi obrazu Ubuntu pomocí příkazu:

$ docker pull ubuntu:18.04

Docker nám umožňuje stáhnout libovolné obrázky a spustit kontejner bez ohledu na hostitelský OS.

Chcete-li například stáhnout bitovou kopii CentOS, spusťte:

$ sudo docker pull centos

Všechny stažené obrázky Dockeru se uloží do /var/lib/docker/ adresář.

Chcete-li zobrazit seznam stažených obrázků Docker, spusťte:

$ obrázky sudo docker

Ukázkový výstup:

REPOSITORY TAG ID IMAGE CREATED SIZEubuntu nejnovější 7698f282e524 před 14 hodinami 69,9 MBcentos nejnovější 9f38484d220f před 2 měsíci 202MBhello-world nejnovější fce289e99eb9 před 4 měsíci
4kB 1,84kB

Jak vidíte výše, stáhl jsem si tři obrázky Docker - Ubuntu , CentOS a ahoj světe .

Nyní pojďme dál a podívejme se, jak spustit nebo spustit kontejnery na základě stažených obrázků.

3. Spusťte Docker Containers

Kontejner můžeme spustit dvěma způsoby – buď pomocí jeho TAG nebo ID OBRÁZKU .

TAG odkazuje na konkrétní snímek obrázku a ID OBRÁZKU je odpovídající jedinečný identifikátor pro tento obrázek.

Stejně jako ve výše uvedených výsledcích "latest" je TAG pro všechny kontejnery a 7698f282e524 je IMAGE ID Ubuntu Obrázek Docker, 9f38484d220f je ID obrázku obrázku CentOS Docker a fce289e99eb9 je ID obrázku hello_world Obrázek dockeru.

Jakmile si stáhnete obrázky Dockeru dle vašeho výběru, spusťte následující příkaz a spusťte kontejner Docker pomocí jeho TAG.

$ sudo docker spustit -t -i ubuntu:latest /bin/bash

Tady,

  • -t :Přiřadí nový Pseudo terminál uvnitř kontejneru Ubuntu.
  • -i : Umožňuje nám vytvořit interaktivní připojení uchopením standardu v (STDIN) kontejneru.
  • ubuntu:latest :Kontejner Ubuntu s TAG „nejnovější“.
  • /bin/bash :BASH shell pro nový kontejner.

Nebo můžete kontejner spustit pomocí IMAGE ID, jak je uvedeno níže:

$ sudo docker run -t -i 7698f282e524 /bin/bash

Tady,

  • 7698f282e524 – ID obrázku

Po spuštění kontejneru se automaticky dostanete do shellu kontejneru (příkazový řádek):

Chcete-li se vrátit zpět do terminálu hostitelského systému (v mém případě je to Ubuntu 18.04 LTS) bez ukončení kontejneru (hostující operační systém), stiskněte CTRL+P následuje CTRL+Q .

Nyní se bezpečně vrátíte zpět do terminálového okna svého původního hostitelského počítače. Upozorňujeme, že kontejner stále běží na pozadí a zatím jsme jej neukončili.

Chcete-li zobrazit seznam spuštěných kontejnerů, spusťte následující příkaz:

$ sudo docker ps

Ukázkový výstup:

ID KONTEJNERU OBRÁZKOVÝ PŘÍKAZ VYTVOŘEN STAV NÁZVY PORTŮ32fc32ad0d54 ubuntu:latest "/bin/bash" před 7 minutami Nahoru o 7 minut modest_jones

Tady,

  • 32fc32ad0d54 – ID kontejneru
  • ubuntu:latest - Obrázek Docker

Upozorňujeme, že ID kontejneru a ID obrázku Dockeru se liší .

Chcete-li vypsat všechny dostupné (buď spuštěné nebo zastavené) kontejnery, spusťte:

$ sudo docker ps -a

Chcete-li zastavit (vypnout kontejner) z hostitelského prostředí, spusťte následující příkaz:

$ sudo docker stop 

Příklad:

$ sudo docker stop 32fc32ad0d54

Chcete-li se znovu přihlásit nebo připojit k běžícímu kontejneru, stačí spustit:

$ sudo docker připojit 32fc32ad0d54

Jak již víte, 32fc32ad0d54 je ID kontejneru.

Chcete-li vypnout kontejner zevnitř jeho shellu, zadejte následující příkaz:

# exit

Seznam běžících kontejnerů můžete ověřit příkazem:

$ sudo docker ps

4. Vytvořte si vlastní obrázky Docker

Docker není jen pro stahování a používání stávajících kontejnerů. Můžete si také vytvořit svůj vlastní obrázek dockeru.

Chcete-li to provést, spusťte kontejner:

$ sudo docker spustit -t -i ubuntu:latest /bin/bash

Nyní budete ve skořápce kontejneru.

Poté nainstalujte jakýkoli software nebo v kontejneru proveďte, co chcete.

Například nám nainstalujte webový server Apache v kontejneru.

# apt update# apt install apache2

Podobně nainstalujte a otestujte libovolný software dle vašeho výběru v kontejneru.

Jakmile vše nastavíte, vraťte se zpět do shellu hostitelského systému. Nádobu nezastavujte ani nevypínejte. Chcete-li přepnout do shellu hostitelského systému bez zastavení kontejneru, stiskněte CTRL+P následuje CTRL+Q .

Z prostředí vašeho hostitelského počítače spusťte následující příkaz a vyhledejte ID kontejneru:

$ sudo docker ps

Nakonec vytvořte obraz Dockeru běžícího kontejneru pomocí příkazu:

$ sudo docker commit 3d24b3de0bfc ostechnix/ubuntu_apache

Ukázkový výstup:

sha256:ce5aa74a48f1e01ea312165887d30691a59caa0d99a2a4aa5116ae124f02f962

Tady,

  • 3d24b3de0bfc – ID kontejneru Ubuntu.
  • ostechnix – Jméno uživatele, který vytvořil kontejner.
  • ubuntu_apache – Název obrázku dockeru vytvořeného uživatelem ostechnix.

Zkontrolujeme, zda je nový obraz Docker vytvořen nebo ne pomocí příkazu:

$ obrázky sudo docker

Ukázkový výstup:

ID OBRÁZKU ZNAČKY ÚLOŽIŠTĚ VYTVOŘENO VELIKOSTostechnix/ubuntu_apache nejnovější ce5aa74a48f1 Asi před minutou 191 MB ubuntu nejnovější 7698f282e524 před 15 hodinami 69,9 MBcentos nejnovější 9f38484d220f před 2 měsíci 202 MBhello-world nejnovější fce289e99eb9 před 4 měsíci 1,84 kB

Jak vidíte ve výše uvedeném výstupu, nový obraz Dockeru byl vytvořen v našem systému localhost ze spuštěného kontejneru.

Nyní můžete vytvořit nový kontejner z nově vytvořeného obrazu Docker jako obvykle pomocí příkazu:

$ sudo docker run -t -i ostechnix/ubuntu_apache /bin/bash

5. Odebírání kontejnerů

Jakmile dokončíte veškerý výzkum a vývoj s kontejnery Docker, můžete je odstranit, pokud už je nechcete.

Abychom tak učinili, nejprve musíme zastavit (vypnout) běžící kontejnery.

Pojďme zjistit běžící kontejnery pomocí příkazu:

$ sudo docker ps

Ukázkový výstup:

ID KONTEJNERU OBRÁZKOVÝ PŘÍKAZ VYTVOŘEN STAV NÁZVY PORTŮ3d24b3de0bfc ubuntu:latest "/bin/bash" před 28 minutami Nahoru o 28 minut goofy_easley

Zastavte spuštěný kontejner pomocí jeho ID:

$ sudo docker stop 3d24b3de0bfc

Nyní odstraňte kontejner pomocí příkazu:

$ sudo docker rm 3d24b3de0bfc

Podobně zastavte všechny kontejnery a odstraňte je, pokud již nejsou vyžadovány.

Odstraňování více kontejnerů jeden po druhém může být únavný úkol. Můžeme tedy odstranit všechny zastavené kontejnery najednou, stačí spustit:

$ sudo docker kontejner prune

Zadejte "Y" a stiskněte ENTER klíč k odstranění kontejnerů.

VAROVÁNÍ! Tímto odstraníte všechny zastavené kontejnery. Opravdu chcete pokračovat? [y/N] y resmazané kontejnery:32fc32ad0d5445f2dfd0d46121251c7b5a2aea06bb22588fb2594ddbe46e65645ec614e0302061469ece212f0dba92983c
 Tento příkaz bude fungovat pouze s nejnovějšími verzemi Dockeru.

6. Odebírání obrázků Docker

Jakmile kontejnery odeberete, můžete odstranit obrázky Docker, které již nepotřebujete.

Chcete-li najít seznam stažených obrázků Docker:

$ obrázky sudo docker

Ukázkový výstup:

ID OBRÁZKU ZNAČKY ÚLOŽIŠTĚ VYTVOŘENO VELIKOSTostechnix/ubuntu_apache nejnovější ce5aa74a48f1 před 5 minutami 191MBubuntu nejnovější 7698f282e524 před 15 hodinami 69,9 MBcentos nejnovějších 9f3848424d289 měsíců před 984d289 před světem 984d2829 měsíců 

Jak vidíte výše, v našem hostitelském systému máme tři obrazy Docker.

Dovolte nám je odstranit pomocí jejich IMAGE id:

$ sudo docker rmi ce5aa74a48f1

Ukázkový výstup:

 Untagged:ostechnix / ubuntu_apache:latestDeleted:sha256:ce5aa74a48f1e01ea312165887d30691a59caa0d99a2a4aa5116ae124f02f962Deleted:sha256:d21c926f11a64b811dc75391bbe0191b50b8fe142419f7616b3cee70229f14cd 

Odstraňování problémů

Docker vám nedovolí odstranit obrazy Dockeru, pokud je používají spuštěné nebo zastavené kontejnery.

Když se například pokusím smazat obrázek Dockeru s ID b72889fa879c , z jednoho mého starého serveru Ubuntu. Zobrazila se mi následující chyba:

Chybová odezva od démona:konflikt:nelze odstranit b72889fa879c (musí být vynuceno) - obrázek je používán zastaveným kontejnerem dde4dd285377

Je to proto, že obrázek Dockeru, který chcete odstranit, je aktuálně používán jiným kontejnerem.

Pojďme tedy zkontrolovat běžící kontejner pomocí příkazu:

$ sudo docker ps

Ukázkový výstup:

Jejda! Neexistuje žádný spuštěný kontejner.

Znovu zkontrolujte všechny kontejnery (Spuštěné a zastavené) pomocí příkazu:

$ sudo docker ps -a

Ukázkový výstup:

Jak vidíte, stále existují některé zastavené kontejnery, které používají jeden z obrazů Docker. Pojďme tedy odstranit všechny kontejnery.

Příklad:

$ sudo docker rm 12e892156219

Podobně odeberte všechny kontejnery, jak je znázorněno výše, pomocí příslušných ID kontejneru.

Jakmile smažete všechny kontejnery, odeberte nakonec obrázky Docker.

Příklad:

$ sudo docker rmi b72889fa879c

A je to. Nyní ověřte, zda jsou v hostiteli nějaké další obrázky Docker pomocí příkazu:

$ obrázky sudo docker

Nyní pravděpodobně neuvidíte žádné obrázky dockeru.

Další informace:

  • Vysvětlení pojmů Docker Networking
  • Vysvětlení svazků Docker s příklady
  • Stručný úvod do Dockerfile
  • Začínáme s Docker Compose v Linuxu
  • Jak spustit Docker jako uživatel bez root v systému Linux
  • Výukový program pro Podman – Začínáme s Podmanem

Závěr

V tomto komplexním návodu Začínáme s Dockerem jsme vysvětlili základy Dockeru, jako je vytváření, spouštění, vyhledávání, odstraňování kontejnerů a také vytváření vlastního obrazu Dockeru z kontejneru.

Doufám, že máte základní představu o používání Dockeru.

Další podrobnosti naleznete v odkazech na oficiální zdroje na konci této příručky nebo v komentáři níže.

Stáhněte si bezplatné elektronické knihy Docker:

Download - Free eBook: "Docker Containerization Cookbook" 
Download - Free Guide: "Understanding Docker" 
Download - Free Guide: "What is Docker and Why is it So Popular?" 
Download - Free Guide: "Introduction to Docker" 
Download - Free Guide: "Docker in Production" 

Doporučené čtení:

  • Jak automaticky aktualizovat spuštěné kontejnery Docker
  • ctop – nástroj pro monitorování příkazového řádku pro linuxové kontejnery
  • Portainer – nejsnazší způsob správy Dockeru
  • PiCluster – jednoduchá webová aplikace pro správu dockerů
  • Dockly – Správa kontejnerů Docker z terminálu

Docker
  1. Začínáme s linuxovými firewally

  2. Začínáme s PostgreSQL na Linuxu

  3. Začínáme s SSH v Linuxu

  1. Začínáme s btrfs pro Linux

  2. Rady pro začátek s GNOME

  3. Začínáme s pracovním prostředím GNOME Linux

  1. Začínáme s OKD na ploše Linuxu

  2. Začínáme s správcem oken i3 v systému Linux

  3. Začínáme s Etcher.io