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

Instalace a používání Dockeru na Ubuntu a Debianu

Docker je nástroj, který vám umožňuje vytvářet, nasazovat a spravovat lehké, samostatné balíčky zvané kontejnery . Tyto kontejnery mají nezbytný kód, knihovny, runtime, systémová nastavení a závislosti potřebné ke spuštění aplikace.

Tato příručka popisuje instalaci Docker Engine na různé distribuce Linuxu pomocí apt správce balíčků, včetně Ubuntu a Debianu, a také získávání a spouštění obrazů Docker.

Než začnete

  1. Ujistěte se, že máte přístup z příkazového řádku k serveru Linux s podporovanou distribucí Linuxu. Pokud ne, vytvořte nový Linode podle příruček Začínáme a Nastavení a zabezpečení výpočetní instance.

    Poznámka Tato příručka je napsána pro uživatele bez oprávnění root. Příkazy, které vyžadují zvýšená oprávnění, mají předponu sudo . Pokud neznáte sudo naleznete v příručce Uživatelé a skupiny.
  2. Projděte si následující příručky Docker, abyste lépe porozuměli Dockeru, jeho výhodám a tomu, kdy jej používat.

    • Úvod do Dockeru
    • Kdy a proč používat Docker

Instalace Docker Engine na Ubuntu a Debian

Docker Engine je základní kontejnerizační software používaný při nasazování kontejnerů Docker. Následující pokyny nainstalují Docker Engine na jedno z těchto podporovaných vydání Ubuntu a Debianu:

Podporované distribuce: Ubuntu 20.04, Ubuntu 18.04, Ubuntu 16.04, Debian 10, Debian 9. Podporovány by měly být i nejnovější verze bez LTS, jako je Ubuntu 21.04, 20.10 a 21.10.

  1. Ujistěte se, že Docker není aktuálně nainstalován. Výstup indikující, že některý z balíčků nebyl nalezen, lze bezpečně ignorovat.

    sudo apt remove docker docker-engine docker.io
    
  2. Nainstalujte balíčky, které jsou nutné ke konfiguraci úložiště Docker:

    sudo apt update
    sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
    
  3. Přidejte klíč GPG společnosti Docker. V následujícím příkazu nahraďte [url] s adresou URL, která odpovídá distribuci, kterou váš systém provozuje.

    curl -fsSL [url]/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    • Ubuntu: https://download.docker.com/linux/ubuntu
    • Debian: https://download.docker.com/linux/debian
  4. Přidejte stabilní Úložiště Docker, opět nahrazující [url] s adresou URL, která odpovídá distribuci, kterou váš systém provozuje.

    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] [url] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  5. Nainstalujte Docker Engine a další požadované balíčky:

    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io
    

Další pokyny k instalaci pro tyto distribuce lze nalézt v dokumentaci Docker:

  • Nainstalujte Docker Engine na Ubuntu
  • Nainstalujte Docker Engine na Debian

Spuštění a testování Dockeru

Po instalaci Docker Engine spusťte Docker a ověřte, že vše funguje spuštěním testovacího obrazu.

  1. Ujistěte se, že server Docker běží.

    sudo systemctl start docker
    
  2. Volitelně nakonfigurujte Docker tak, aby se spustil při spuštění serveru. Toto je doporučeno, pokud máte v úmyslu spustit produkční aplikaci v rámci této instalace Dockeru.

    sudo systemctl enable docker
    sudo systemctl enable containerd
    
  3. Ověřte, zda je Docker správně nainstalován, spuštěním obrazu „hello-world“.

    sudo docker run hello-world
    

    Pokud bude úspěšný, Docker by si měl stáhnout a spustit obrázek hello-world a vydat zprávu o úspěchu. Kromě jiného textu by výstup měl obsahovat zprávu podobnou následujícímu:

    Hello from Docker!
    This message shows that your installation appears to be working correctly.

Používání Dockeru s uživatelem bez oprávnění root

Ve výchozím nastavení sudo je vyžadována pro spouštění příkazů Dockeru, ale existuje nová skupina nazvaná docker , byl vytvořen během instalace. Když se démon Docker spustí, otevře Unixový soket pro docker členové skupiny.

Než budete pokračovat, ujistěte se, že máte omezený uživatelský účet, který nemá patří do skupiny sudo. Pokud jste si ještě nevytvořili omezený uživatelský účet, přečtěte si pokyny v příručkách Nastavení a zabezpečení výpočetní instance nebo Uživatelé a skupiny Linuxu.

  1. Zadejte níže uvedený příkaz a přidejte uživatele do dockeru skupina, nahrazující [uživatel] s názvem vašeho omezeného uživatelského účtu.

    sudo usermod -aG docker [user]
    
  2. Přihlaste se do systému jako omezený uživatel.

  3. Ověřte, že omezený uživatel může spustit docker příkazy bez sudo opětovným spuštěním obrázku „hello-world“.

    docker run hello-world
    

    Výstup by měl mít podobnou zprávu o úspěchu jako předchozí výstup.

Pozor Docker group uděluje podobná oprávnění jako má uživatel root. Další informace o tom, jak to může ovlivnit zabezpečení systému, najdete v průvodci Docker Daemon Attack Surface v dokumentaci Dockeru. Chcete-li spustit démona Docker bez použití oprávnění root, postupujte podle pokynů v části Spusťte démona Docker jako uživatel bez oprávnění root (režim bez root).

Řešení chyb s načítáním konfiguračních souborů

Pokud uživatel spustil sudo docker příkazy před připojením ke skupině, může se jim zobrazit chyba při načítání konfiguračního souboru, například takto:

WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

Problém je v tom, že adresář .docker v jejich domovském adresáři (~/.docker) byl vytvořen s oprávněními udělenými sudo .

Existují dvě možné opravy:

  1. Odstraňte .docker adresář z jejich domovského adresáře. Docker jej automaticky znovu vytvoří, ale veškerá vlastní nastavení budou ztracena.

  2. Změňte oprávnění na .docker adresář pomocí příkazů:

    sudo chown example_user:example_user /home/example_user/.docker -R
    sudo chmod g+rwx "/home/example_user/.docker" -R
    

Použití obrázků Docker k nasazení kontejnerů

Obrázky dockeru jsou šablony, které obsahují pokyny a specifikace pro vytvoření kontejneru. Chcete-li použít Docker, musíte nejprve získat obrázek nebo vytvořit svůj vlastní vytvořením souboru docker. Další informace najdete v tématu Úvod do Dockeru.

Výpis obrázků

Chcete-li zobrazit seznam všech obrazů ve vašem systému, spusťte následující příkaz. Výsledkem by měl být hello-world obrázek, který byl použit v předchozím kroku, a také všechny další obrázky, které jste již získali.

docker images

Nalezení obrázku

Obrázky jsou uloženy v registrech Docker, jako je Docker Hub (oficiální registr Dockeru). Můžete procházet obrázky na tomto webu nebo pomocí následujícího příkazu prohledávat registr Docker. V následujícím příkazu nahraďte [keyword] s klíčovými slovy, která chcete vyhledat, například nginx nebo apache .

docker search [keyword]

Získání obrázku

Jakmile najdete obrázek, stáhněte si jej na svůj server. V následujícím příkazu nahraďte [image] s názvem obrázku, který chcete použít.

docker pull [image]

Chcete-li například stáhnout oficiální obrázek nginx, spusťte:docker pull nginx .

Spuštění obrázku

Dále vytvořte kontejner založený na obrázku pomocí docker run příkaz. Znovu nahraďte [image] s názvem obrázku, který chcete použít.

docker run [image]

Pokud obrázek ještě nebyl stažen a je dostupný v registru Docker, bude automaticky stažen na váš server.

Správa kontejnerů Docker

Výpis kontejnerů

Chcete-li zobrazit seznam všech aktivních (a neaktivních) kontejnerů Docker spuštěných ve vašem systému, spusťte následující příkaz:

docker ps -a

Výstup by měl vypadat následovně. Tento ukázkový výstup ukazuje hello-world kontejner.

CONTAINER ID   IMAGE         COMMAND    CREATED       STATUS                   PORTS     NAMES
5039168328a5   hello-world   "/hello"   2 hours ago   Exited (0) 2 hours ago             magical_varahamihira

Spuštění kontejneru

Spusťte kontejner Docker pomocí následujícího příkazu, který nahradí [ID] s ID kontejneru odpovídajícím kontejneru, který chcete spustit:

docker start [ID]

Zastavení kontejneru

Zastavte kontejner Docker pomocí následujícího příkazu, který nahradí [ID] s ID kontejneru odpovídajícím kontejneru, který chcete zastavit:

docker stop [ID]

Některé obrázky (například hello-world image) se po spuštění automaticky zastaví. Mnoho dalších kontejnerů však pokračuje v běhu, dokud nedostanete explicitní příkaz k zastavení, a možná budete chtít spouštět tyto kontejnery na pozadí. V těchto případech se tento příkaz může hodit.

Odebrání kontejneru

Odeberte kontejner Docker pomocí následujícího příkazu, který nahradí [ID] s ID kontejneru odpovídajícím kontejneru, který chcete odstranit:

docker rm [ID]

Další informace

Další informace o tomto tématu můžete získat v následujících zdrojích. Přestože jsou poskytovány v naději, že budou užitečné, vezměte prosím na vědomí, že nemůžeme ručit za přesnost nebo aktuálnost externě hostovaných materiálů.

  • Webové stránky pro Docker
  • Dokumentace pro Docker
  • Web pro kontejnery

Docker
  1. Problémy s Dockerem v Ubuntu 20.04?

  2. Instalace a používání Dockeru na CentOS a Fedoře

  3. Nainstalujte Docker a WordPress na Ubuntu

  1. Jak nainstalovat Docker na Debian / Ubuntu

  2. Jak provést instalaci Rootless Docker (na Ubuntu a Debianu)

  3. Instalace Dockeru (Ubuntu)

  1. Co dělat po instalaci Ubuntu 18.04 a 19.10

  2. Jak nainstalovat Docker na Ubuntu 18.04

  3. Jak nainstalovat a používat Docker na Ubuntu 18.04