GNU/Linux >> Znalost Linux >  >> Linux

Jak spravovat kontejnery Docker

Docker je softwarová platforma vyvinutá pro usnadnění nasazení aplikací založených na konceptu kontejnerů. Platformu lze použít k vytváření, testování a distribuci aplikací jejich shromažďováním ve standardizovaných jednotkách, nazývaných „kontejnery“.

Dockerové kontejnery lze považovat za izolovaná prostředí, kde lze aplikace spouštět bez zásahu jiných procesy. Podobně jako u virtuálních strojů jsou každému kontejneru přiděleny specifické výpočetní zdroje. Na rozdíl od virtuálních strojů Docker nevyžaduje žádnou emulaci hardwaru, ale pro každý kontejner používá fyzický hardware hostitele.

Kontejnerizaci lze považovat za přirozenou evoluci virtualizace, protože je efektivní z hlediska zdrojů a dokáže generovat lepší výkon systému. Navíc, protože obsahují vše potřebné pro správné spouštění aplikací – včetně knihoven, systémových nástrojů a kódů – kontejnery zjednodušují nasazení aplikace, aniž byste se museli starat o konfiguraci běhového prostředí.

V tomto tutoriálu se naučíte, jak nejlépe spravovat kontejnery Docker v systému Linux, stahovat obrázky z Docker Hub, vytvořit nový kontejner a uložit jeho obrázek.

Pokud platforma Docker není ve vašem systému přítomna, doporučujeme postupovat podle našeho průvodce Jak nainstalovat Docker na Ubuntu 18.04.

Stahování obrázků

Kontejnery jsou sestaveny z obrázků. Ve výchozím nastavení se tyto obrázky stahují z Docker Hub, registru oficiálních obrázků poskytovaných společností.

Kdokoli může hostovat své obrázky na Docker Hub. To umožňuje použití předem zabalených obrázků jako základu pro vaše aplikace.

Zkuste spustit příkaz:

$ docker run centos

Docker vyhledá obraz "centos" v místním registru. Pokud jej nenajde (protože dosud nebyl stažen), Docker jej stáhne z Docker Hub a vytvoří kontejner s tímto obrázkem.

Použitý obrázek neposkytuje žádný vizuální výstup, ale kontejner můžete vidět spuštěný pomocí příkazu:

$ docker ps

zobrazit všechny existující kontejnery, spuštěné i zastavené:

$ docker ps -a

Chcete-li zobrazit seznam stažených obrázků, zadejte:

$ docker images

Stavba kontejnerů

Kontejnery jsou podobné virtuálním strojům a jsou levnější z hlediska zdrojů.

Zkuste jej vytvořit pomocí dříve staženého obrázku centos:

$ docker run -it centos

Přepínač "-it" umožňuje přístup k shellu uvnitř kontejneru. Zobrazený shell nepochází z vašeho operačního systému, ale z kontejneru:všechny příkazy budou provedeny v shellu operačního systému přítomného uvnitř kontejneru (v tomto případě Ubuntu), a ne v hostitelském shellu.

Chcete-li opustit shell kontejneru a vrátit se do shellu hostitele, zadejte:

$ exit

Spuštění, zastavení nebo odstranění kontejneru:

$ 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 smazáním kontejneru musí být ve stavu „stop“.
Před zablokováním kontejneru musí být ve stavu „spustit“.

Kontejnery jsou izolovaná prostředí, a proto jsou z definice "uzavřené". Pro interakci s jejich „obsahem“ namapujte komunikační port.

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

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

    • Pokud se jedná o kontejner, který hostí webový server, přistupte k němu pomocí "localhost:8081".

  • „-d“:spuštění kontejneru na pozadí.

  • „nginx“:obrázek použitý k sestavení kontejneru.

    • Pokud obrázek není přítomen místně, stáhne se z Docker Hub.

Obrázky sestavení kontejnerů

Po vytvoření kontejneru a nezbytných „přizpůsobení“ se doporučuje vytvoření relativního obrázku:vše, co je vloženo do kontejneru (instalace dalších modulů nebo jiných přizpůsobení), zůstane v kontejneru a ne v obrázek použitý pro stavbu. Pokud kontejner odstraníte a znovu vytvoříte, nezobrazí se žádné ze změn provedených do tohoto okamžiku.

Předpokládejme, že jste vytvořili kontejner s obrazem CentOS a nainstalovali Nginx. Pokud kontejner odstraníte a znovu jej vytvoříte s obrazem ubuntu, nebudete mít v kontejneru Nginx, protože jej použitý obraz neobsahuje.

Chcete-li vygenerovat obraz kontejneru (a mít zálohu pro opětovné vytvoření kontejneru se stejnými podmínkami), spusťte příkaz:

$ docker commit -m "List of changes made" -a "User name" container_id repository/image_name
  • "-m" se používá k zápisu seznamu změn, aby se získal protokol, na který se lze odkazovat

  • "-a" se používá k označení jména uživatele, který generuje obrázek

Tento příkaz uloží bitovou kopii do místního registru (lze jej zobrazit prostřednictvím obrázků dockeru).

Obrázek lze také uložit na Docker Hub. To lze provést tak, že se nejprve ověříte na Docker Hub pomocí Dockeru (z prostředí shell), zadáním:

$ docker login -u username
  • Budete požádáni o zadání hesla pro ověření na Docker Hub

$ docker push username/image_name

Linux
  1. Jak opustit kontejner Docker

  2. Jak zálohovat a obnovovat kontejnery Docker

  3. Jak pozastavit a obnovit kontejnery Docker

  1. Jak sdílet data mezi kontejnery Docker

  2. Jak vypsat Docker kontejnery

  3. Jak odstranit všechny kontejnery Docker

  1. Jak odebrat obrázky, kontejnery, sítě a svazky dockeru

  2. Jak vypsat / spustit / zastavit kontejnery Docker

  3. Jak spravovat kontejnery Docker? Osvědčené postupy