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

Docker na Windows? Začněte se učit hned nebo…!

Pokud s kontejnery a Dockerem teprve začínáte a pracujete primárně na Windows, budete se těšit. V tomto článku se dozvíte, jak nastavit Docker v systému Windows 10 pomocí Docker Desktop pro Windows nebo jednoduše označovaného jako Docker Desktop v tomto článku.

Docker Desktop je Docker Engine a klient pro správu zabalené společně pro snadné použití ve Windows 10. V tomto článku si nainstalujete Docker Desktop, nasadíte svůj první kontejner a budete sdílet data mezi hostitelem a vašimi kontejnery.

Předpoklady pro Docker v systému Windows

Toto je návod, který ukazuje různé kroky v Docker Desktop pro Docker v systému Windows. Chcete-li pokračovat, ujistěte se, že máte splněno několik konkrétních požadavků.

  • Připojení k internetu ke stažení více než 800 MB dat
  • Windows 10 64bitový s verzí Pro, Enterprise nebo Education s vydáním 1703 nebo novějším. To je nezbytné ke spuštění Hyper-V ve Windows 10.
  • CPU s kompatibilitou SLAT (vnořené stránkování). Všechny procesory AMD/Intel přibližně od roku 2008 jsou kompatibilní se SLAT
  • Alespoň 4 GB RAM
  • Hardwarová virtualizace systému BIOS je někdy označována jako Virtualizační technologie nebo VTx . Toto musí být povoleno a zobrazeno jako Povoleno na kartě Výkon ve Správci úloh, jak je uvedeno níže.

Stažení a instalace Docker Desktop

Nejprve si musíte stáhnout a nainstalovat Docker Desktop, abyste mohli spustit Docker na Windows. Docker Desktop je k dispozici ve dvou verzích; stabilní vydání a testovací vydání.

Stabilní verze je vydávána čtvrtletně a zajišťuje plně otestovanou aplikaci. V tomto článku budete používat stabilní verzi.

Upozornění:Po instalaci vás Docker Desktop vyzve k instalaci hypervizoru Hyper-V, pokud ještě není nainstalován. Hyper-V hypervisor tak zabrání hypervizorům v uživatelském režimu, jako je VirtualBox, VMWare atd., aby spouštěly hostované virtuální počítače. Podpora Hyper-V pro VirtualBox a VMWare je omezená, ale přichází.

Máte také možnost zdroje stahování prostřednictvím ručního stažení Docker Desktop přímo z Docker.com nebo prostřednictvím správce balíčků Windows, Chocolatey. Pojďme se stručně zabývat každou metodou.

Z Docker.com

Chcete-li stáhnout Docker Desktop přímo z docker.com, můžete přejít na stránku produktu, zaregistrovat si účet a stáhnout si jej odtud. Toto je preferováno, pokud máte v úmyslu používat Docker v produkci registrací účtu.

Pokud však Docker teprve zkoušíte poprvé, můžete si jej také stáhnout přímo, což je mnohem jednodušší.

Jakmile je soubor EXE stažen, spusťte spustitelný soubor a proklikejte se výzvami, abyste přijali všechna výchozí nastavení.

Na otázku, zda plánujete použít kontejnery Windows místo kontejnerů Linux , jak je uvedeno níže, nedělejte zaškrtněte políčko. V tomto článku budete používat kontejnery Linux.

Po dokončení instalace restartujte počítač.

Výběrem možnosti používat kontejnery Windows nebo kontejnery Linuxu sdělíte Dockeru, aby připojil obrázky k jádru Windows nebo linuxovému jádru. Toto nastavení můžete kdykoli po instalaci změnit kliknutím pravým tlačítkem na ikonu Docker na hlavním panelu a výběrem Přepnout na kontejnery Windows, jak je znázorněno níže.

Používání čokolády

Další možností, jak si stáhnout a nainstalovat Docker Desktop, je Chocolatey. Chocolatey za vás automatizuje mnoho úloh stahování/instalace. Chcete-li to provést, otevřete konzolu příkazového řádku (buď cmd nebo PowerShell) jako správce a stáhněte a nainstalujte program najednou spuštěním příkazu níže.

choco install docker-desktop

Po dokončení restartujte Windows 10.

Pokud byste někdy chtěli testovací verzi vyzkoušet, můžete si ji stáhnout a nainstalovat spuštěním choco install docker-desktop --pre .

Ověření instalace Docker Desktop

Po instalaci se Docker Desktop automaticky spustí jako služba poskytující Docker v systému Windows. Zobrazí se na hlavním panelu, když se po restartu přihlásíte do systému Windows. Ale jak vlastně víte, že to funguje?

Chcete-li ověřit, zda Docker Desktop funguje správně, otevřete konzolu příkazového řádku a spusťte docker příkaz. Pokud instalace proběhla v pořádku, uvidíte odkaz na příkaz Docker.

Nakonec nechte Docker stáhnout a spustit ukázkový obrázek kontejneru s názvem hello-world spuštěním příkazu docker run hello-world . Pokud je vše v pořádku, uvidíte výstup jako níže.

Spouštění příkazů v kontejnerech Docker

Docker Desktop je nainstalován a vy jste ověřili, že je vše v pořádku? Co teď? Chcete-li začít s Dockerem v systému Windows, jedním z běžných úkolů, které je třeba provést v kontejneru Docker, je spouštění příkazů. Prostřednictvím docker run můžete odesílat příkazy prostřednictvím hostitele (vašeho počítače se systémem Windows 10) přímo do běžícího kontejneru.

Chcete-li spouštět příkazy v kontejneru pomocí docker run , nejprve zadáte název obrázku a poté příkaz. Chcete-li začít, řekněte Dockeru, aby spustil příkaz hostname uvnitř kontejneru zvaného alpine jak je vidět níže.

> docker run alpine hostname
b74ff46601af

Protože nemáte alpské Docker image nyní na vašem počítači, Docker ve Windows stáhne malý obrázek z Docker Hub, vyvolá kontejner z tohoto obrázku a odešle příkaz přímo do kontejneru a vše vypne jedním tahem.

Pokud chcete kontejner ponechat v provozu, můžete také použít -it parametr. Tento parametr říká Dockeru, aby po provedení příkazu ponechal kontejner v „interaktivním režimu“ a nechal jej spuštěný v popředí. Uvidíte, že se vám zobrazí výzva terminálu připravená k použití.

> docker run -it alpine sh
/ #

Až budete v terminálu hotovi, napište exit pro návrat do systému Windows 10.

Přístup k souborům z hostitele Docker v kontejnerech

Dalším běžným úkolem je přístup k hostitelským souborům z kontejnerů. Pro přístup k hostitelským souborům v kontejnerech vám Docker v systému Windows umožňuje propojit cestu ke složce z plochy a sdílet tuto složku s vaším kontejnerem. Tento proces se nazývá vazba .

Chcete-li vytvořit vazbu, vytvořte složku na místní jednotce. V tomto příkladu použiji E:\ a nazvěte jej vstup. Poté vytvoří nový textový dokument s názvem soubor.txt ve složce. Neváhejte použít jakoukoli cestu a soubor, který chcete.

Jakmile budete mít složku, kterou chcete sdílet mezi hostitelem a kontejnerem, Docker musí složku připojit pomocí --mount parametr. --mount parametr vyžaduje tři argumenty; typ připojení, cestu k zdrojovému hostitelskému adresáři a cestu k cílovému adresáři. Cílová cesta bude symbolický odkaz v kontejneru.

Níže uvidíte příklad montáže celého E:\ v hostiteli Windows 10 se zobrazí jako /home/TEST adresář uvnitř linuxového kontejneru.

> docker run --mount type=bind,source="E:/",target=/home/TEST -it alpine

Když se pokusíte připojit hostitelskou složku, Docker Desktop vás požádá o povolení sdílet tuto jednotku s kontejnery Docker, jak je vidět níže.

Pokud jste vytvořili soubor.txt soubor ve složce Windows 10, jak bylo popsáno dříve, spusťte cat /home/TEST/input/file.txt . Uvidíte, že se zobrazí obsah.

Nyní odstraňte vstup složku, kterou jste právě vytvořili, a spusťte cat ... příkaz znovu. Všimněte si, že shell nyní hlásí, že soubor již neexistuje.

Mapování síťových portů

Dalším důležitým konceptem, který je třeba vědět, je, jak Docker v systému Windows zachází se sítí. Pro krátký úvod se podívejme, co je potřeba k přístupu k webové službě spuštěné v kontejneru z místního hostitele.

Nejprve vytvořte ukázkový obrázek, který spustí ukázkovou webovou stránku. Stáhněte a spusťte obraz Docker s názvem dockersamples/static-site . Použijete docker container run k tomu.

Následující příkaz provede čtyři akce najednou:

  • Stáhne obrázek Dockeru z centra Docker s názvem static-site v vzorech ukotvitelných stanic „adresář“
  • Spustí instanci kontejneru ze statického webu obrázek
  • Okamžitě odpojí kontejner od popředí terminálu (—detach )
  • Zpřístupňuje síťové porty běžícího kontejneru hostiteli Windows 10 (—publish-all )
docker container run --detach --publish-all dockersamples/static-site
## Alternate/shorthand syntax that does the same thing:
## docker container run -d -P dockersamples/static-site
## docker run -d -P dockersamples/static-site

Po spuštění vrátí Docker ID kontejneru, které bylo vyvoláno, jak je uvedeno níže.

Publikování síťových portů

Od použití --publish-all místní hostitelské porty jsou nyní mapovány na síťový zásobník kontejneru. Můžete použít docker ps dílčí příkaz vypíše všechny běžící kontejnery včetně toho, jaké porty jsou přiřazeny všem běžícím kontejnerům. V níže uvedeném případě jeden kontejner mapuje port hostitele 32777 na port kontejneru 80 a port hostitele 32776 na port kontejneru 443.

Docker ve Windows přiřazuje kontejnerům náhodné porty při použití --publish-all pokud je výslovně nedefinujete.

Nyní otevřete webový prohlížeč a přejděte na http://localhost:32777 nebo port, který Docker přiřadil k mapování na port 80 jako výstup z docker ps . Pokud vše půjde dobře, měli byste vidět níže uvedenou webovou stránku.

Změna publikovaných portů

Nyní máte kontejner Docker spuštěný v Dockeru ve Windows a slouží k jednoduché webové stránce. Gratulujeme! Nyní však musíte zadat konkrétní vazbu portu, která se nespoléhá na náhodný výběr portu pomocí --publish-all . Žádný problém. Použijte -p parametr.

Nejprve zastavte spuštěný kontejner zadáním jedinečného řetězce ID kontejneru. Toto ID kontejneru najdete spuštěním docker ps . Jakmile znáte ID kontejneru, zastavte kontejner a spusťte nový, přičemž určete Docker, aby přiřadil konkrétní port k publikování.

Syntaxe pro specifikaci portu je <external port>:<container port> . Pro každý port, který chcete publikovat, použijte --publish nebo -p přepněte pomocí externích a kontejnerových portů, jak je uvedeno níže.

> docker stop f766
> docker run --detach -p 1337:80 dockersamples/static-site

Když zadáváte ID kontejneru, stačí zadat tolik ID, aby bylo jedinečné. Pokud provozujete pouze jeden kontejner a jeho ID je f766f4ac8d66bf7 , můžete kontejner identifikovat pomocí libovolného počtu znaků, včetně pouze f . Požadavek je, že cokoli napíšete, umožní jednoznačně identifikovat jeden kontejner.

Nyní přejděte do webového prohlížeče a přejděte na localhost:1337 . Pamatujte, že obraz neměníte a vždy naslouchá na portu 80; měníte pravidlo překladu portů v konfiguraci Dockeru, která vám umožní připojit se ke kontejneru.

Zastavení všech kontejnerů

Pomocí docker stop , můžete zastavit kontejner, ale jak zastavíte více kontejnerů najednou? Jedním ze způsobů, jak toho dosáhnout, je poskytnout více ID kontejnerů oddělených mezerou. Níže můžete vidět příklad, jak zastavit tři kontejnery s ID fd50b0a446e7 , 36ee57c3b7da a 7c45664906ff.

> docker stop fd50 36ee 7c45

Pokud v PowerShellu spravujete kontejnery Docker, můžete také použít zkratku k zastavení všech kontejnerů. Odešlete seznam ID kontejnerů pomocí docker ps -q na parametr stop prostřednictvím rozšíření příkazů PowerShellu docker stop (docker ps -q) .

Potvrďte, že všechny kontejnery jsou zastaveny tím, že se nezobrazí žádné kontejnery, když zadáte docker ps .

Uklízení

Stáhli jste několik obrázků kontejnerů a spustili některé kontejnery, které jsou nyní zastaveny. I když jsou zastaveny, jejich přidělené úložiště nezmizí z místního hostitelského disku. Musíte odstranit kontejnery, abyste uvolnili tento prostor a zamezili zahlcení vašeho pracovního prostoru.

Chcete-li odstranit jeden kontejner, použijte kontejner remove rm parametr jako níže.

> docker container rm <container ID>

Nebo chcete-li odstranit všechny zastavené kontejnery, použijte prune parametr, jak je uvedeno níže.

> docker container prune

Docker
  1. Vytvoření prvního kontejneru Docker Windows Server Container

  2. Začněte s cloudovými servery

  3. Jak získat informace o kontejneru v Dockeru

  1. Začněte s NetworkManagerem v systému Linux

  2. Jak začít s Juju?

  3. Učím se Perl, ale jak dostanu 5.14 na Windows?

  1. 10 způsobů, jak začít s Linuxem

  2. Docker Volumes:Jak vytvořit a začít

  3. Learning Docker:Jak vytvořit kontejner Docker