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

Docker:Jak jej používat v praxi - Část 3

Část 3:Vytvoření poznámkového bloku pomocí kontejnerů WordPress a DokuWiki

Předmluva

V první části jsme hovořili o tom, jak docker kontejnery fungují a jak se liší od jiných softwarových virtualizačních technologií a ve druhé části jsme připravili náš systém pro správu docker kontejnerů.

V tomto díle začneme používat obrázky Docker a prakticky vytvářet kontejnery. Jinými slovy, vytvoříme webový, pokročilý osobní poznámkový blok, který běží nad DokuWiki nebo WordPress. Můžete si vybrat, co vám vyhovuje.

Jak spustit kontejner Docker

Nejprve se musíme ujistit, že docker engine funguje podle potřeby, a to stažením obrázku „Hello world“ a vytvořením kontejneru z něj.

Pamatujte, že když mluvíme o obrázku, je to pozastavený stav, zatímco když mluvíme o kontejneru, je to run-time instance obrázku dockeru. V analogii, o které jsme hovořili v předchozí části, je obraz dockeru jako soubor ISO linuxové distribuce, zatímco kontejner je živá relace souboru ISO, jako byste jej spouštěli z USB flash disku.

Chcete-li stáhnout a spustit obrázek „Ahoj světe“, stačí zadat do terminálu

sudo docker spustit hello-world

Tento příkaz stáhne obrázek Hello World a spustí jej v kontejneru. Když kontejner běží, vytiskne informační zprávu a poté se ukončí (to znamená, že se vypne).

Jak zkontrolujeme, kolik obrázků máme v našem systému? No prostě běžíme

obrázky sudo docker

Možná se sami sebe ptáte, jak můj systém našel tento obrázek Hello World a odkud pochází? No, tady vstupuje do hry docker hub.

Úvod do Docker Hub

Docker Hub je cloudový centralizovaný zdroj pro zjišťování obrázků kontejnerů, vytváření obrázků a distribuci těchto obrázků.
Docker Hub konkrétně poskytuje některé užitečné vlastnosti a funkce, o kterých se budeme více bavit v pozdějších částech.

V současné době se zaměříme na jednu funkci a tou je vyhledání a stažení obrazu dockeru.

Vyhledávání obrázků Docker

Můžete vyhledat „image dockeru připraveného ke stažení a spuštění“ jednoduše návštěvou online docker hubu nebo pomocí terminálu. Všimněte si, že nemůžete stáhnout obrázek dockeru z webového centra, ale můžete se o obrázku dozvědět více, například jak je vytvořen a udržován atd.

Pro účely této části se tedy zaměříme na použití terminálového způsobu. Pojďme hledat WordPress

hledání sudo docker ve wordpressu

Jak můžete vidět, existuje spousta obrázků dockerů WordPress, které jsou vytvořeny s různými kombinacemi (např. s nebo bez zahrnutí databáze), jsou hodnoceny hvězdičkami popularity a jsou buď oficiální (spravované dockerovou společností) nebo automatizované (vytvořené a spravované jednotlivci). Je zřejmé, že každý si může vytvořit účet a nahrát svůj vlastní obrázek dockeru a probereme to v pozdější části.

Stažení obrázku Docker

Pro účely tohoto článku použijeme nejnovější vytvořený bitnamis docker image, který je dodáván s předinstalovaným MySQL. Pojďme si to tedy stáhnout:

sudo docker pull bitnami/wordpress:latest

Jakmile výše uvedený příkaz spustíte, bude komunikovat s docker hubem, zeptá se, zda existuje úložiště s názvem „bitnami“, a poté se zeptá, zda existuje sestavení „WordPress“, které je označeno jako „nejnovější“ verze.

Aktuálně jsme si stáhli obrázek WordPress a nic jiného. Nyní můžeme pokračovat stažením obrázku DokuWiki tak, že jeden vyhledáme a vybereme ten, který se nám líbí, nebo použijeme ten, který je následující

sudo docker pull mprasil/dokuwiki

Architektura obrazu Docker

Při čekání na dokončení postupu stahování můžete vidět, že obraz dockeru je vícevrstvý obraz nad základním obrazem. Můžete vidět, jak se každá vrstva stahuje a pak se „magicky“ sjednotí. Níže uvedený diagram ukazuje základní obrázek Ubuntu obsahující 4 naskládané obrazové vrstvy.

Jak si dokážete představit, každý obrázek Dockeru odkazuje na seznam vrstev pouze pro čtení, které představují rozdíly v souborovém systému. Když vytvoříte nový kontejner, z obrázku Docker, jak to uděláme později, přidáte novou tenkou vrstvu, do které se dá zapisovat, na horní část základního balíčku. Všechny změny provedené v běžícím kontejneru – jako je zápis nových souborů, úprava existujících souborů a mazání souborů – se zapisují do této tenké vrstvy kontejneru s možností zápisu. Níže uvedený diagram ukazuje kontejner založený na obrázku Ubuntu 15.04.


Odstranění obrázku Docker

Nyní, když zkontrolujete, kolik obrázků máte v systému

obrázky sudo docker

uvidíte WordPress, DokuWiki a Hello World. Pokud z jakéhokoli důvodu chcete odstranit a smazat (rmi) obrázek, jednoduše napište

sudo docker rmi 

kde název obrázku je název ukotvitelného panelu, jak je zobrazen pomocí příkazu "docker images". Například, pokud chceme smazat Hello World, můžeme jednoduše napsat:

sudo docker rmi hello-world

Kontejnery jsou pomíjivé

Podle návrhu jsou kontejnery Docker pomíjivé. Termínem „pomíjivý“ máme na mysli, že kontejner lze zastavit a zničit a ze stejného obrazu Dockeru lze postavit nový a umístit jej na místo s absolutním minimem nastavení a konfigurace.

Proto byste měli mít na paměti, že když vytvoříme kontejner z obrázku Docker podle vašich preferencí (WordPress nebo DokuWiki), jakékoli změny, které provedete, např. přidání příspěvku, obrázku, bude ztraceno, jakmile zastavíte nebo smažete kontejner. Jinými slovy, když je kontejner smazán, všechna data zapsaná do kontejneru, která nejsou uložena v datovém svazku, jsou odstraněna spolu s kontejnerem.

Datový svazek je adresář nebo soubor v souborovém systému hostitele Docker, který je připojen přímo do kontejneru. Tímto způsobem můžete vyměnit kontejnery za nové a uchovávat všechna data v bezpečí v domovské složce uživatelů. Všimněte si, že do kontejneru můžete připojit libovolný počet datových svazků. Dokonce i více kontejnerů může také sdílet jeden nebo více objemů dat.

Níže uvedený diagram ukazuje jednoho hostitele Dockeru (např. váš Ubuntu 15.10), na kterém běží dva kontejnery. Jak můžete vidět, existuje také jeden sdílený datový svazek umístěný na /data na hostiteli Docker. Ten se montuje přímo do obou kontejnerů.

Tímto způsobem, když je kontejner smazán, všechna data uložená v datových svazcích zůstanou na hostiteli Dockeru a mohou být připojena k novému kontejneru.

Docker kontejner Networking

Když nainstalujete Docker, vytvoří ve vašem systému síťové zařízení. Můžete jej zobrazit (bude pojmenován jako docker0) jako součást síťového zásobníku hostitele pomocí příkazu `ifconfig` na vašem hostitelském systému.

Je důležité pochopit, že kontejnery Docker jsou izolované a jsou to jednotlivé mikroslužby, které mají své vlastní síťové vlastnosti, a způsob, jakým je spouštíme a připojujeme se k nim, je mapování jejich čísla portu na číslo portu hostitelského systému.

Tímto způsobem můžeme vystavit webovou službu, kterou kontejner spouští, hostitelskému systému.

Vytvoření osobního poznámkového bloku pomocí kontejneru WordPress

Začněme s vytvářením našeho testovacího poznámkového bloku. Nejprve použijeme obrázek WordPress k vytvoření kontejneru Docker

spuštění sudo docker --name=mynotepad -p 80:80 -p 443:443 bitnami/wordpress

Pomocí výše uvedeného příkazu jsme požádali službu Docker v našem hostitelském systému, aby vytvořila a spustila (spuštění dockeru) kontejner s názvem `mynotepad` (--name=mynotepad), namapovala port HTTP a HTTPS hostitele a kontejneru ( -p 80:80 -p 443:443 ) a použijte obrázek WordPress ( bitnami/wordpress )

Jakmile je kontejner inicializován, budete uvítáni s některými informacemi o kontejneru. Je čas spustit prohlížeč a nasměrovat jej na http://localhost

Pokud vše proběhlo v pořádku, uvidíte výchozí web WordPress

Jak už možná víte, přihlaste se na stránku administrace WordPress, stačí přejít na http://localhost/login a použít výchozí přihlašovací údaje user / bitnami. Poté můžete ve WordPressu vytvořit nového uživatele nebo testovací příspěvek a publikovat jej. Můj testovací příspěvek můžete vidět na obrázku níže

Vraťme se k terminálu. Jak můžete vidět, váš terminál je aktuálně navázán na běžící kontejner. Pro ukončení můžete použít Ctrl+C. Tím se také zastaví kontejner.

Nyní se podívejme na naše dostupné kontejnery. Můžete spustit následující příkaz:

sudo docker ps -l

pro zobrazení kontejneru, který jsme dříve vytvořili a spustili.

Jak můžete vidět z obrázku výše, jsou zde některé důležité informace, jako je název kontejneru a jedinečné ID kontejneru. Tímto způsobem můžeme znovu spustit kontejner:

docker spustit mynotepad

Poté můžete zkontrolovat procesy, které kontejner dockeru spouští, pomocí následujícího příkazu:

sudo docker top mynotepad

Ve výchozím nastavení s `docker start mynotepad` běží kontejner dockeru na pozadí. Chcete-li jej zastavit, můžete spustit následující příkaz

sudo docker stop mynotepad

Více o tom, jak komunikovat s kontejnerem, si můžete přečíst v oficiální dokumentaci dockeru https://docs.docker.com/engine/userguide/containers/usingdocker/

Kde jsou kontejnery

Pokud chcete vidět, kde jsou kontejnery v souborovém systému hostitelů, můžete přejít na /var/lib/docker

sudo cd /var/lib/docker
sudo ls
kontejnery sudo cd
sudo cd ID
sudo ls

Jak můžete vidět, ID čísla představují skutečné kontejnery, které jste vytvořili.

Vytváření trvalého úložiště

Pojďme vytvořit nový kontejner WordPress, ale tentokrát jej umístíme na pozadí a také vystavíme složku WordPress našemu hostitelskému systému, abychom do ní mohli vkládat soubory nebo odstraňovat soubory, které nechceme.

Nejprve vytvoříme složku v našem domovském adresáři

mkdir ~/wordpress-files

poté spusťte a vytvořte kontejner založený na stejném obrázku, který jsme vytvořili předchozí:

sudo docker spustit -d -ti --name=mynotepad-v2 -v ~/wordpress-files:/opt/bitnami/apps -e USER_UID=`id -u` -p 80:80 bitnami/wordpress 

Rozdíl je tentokrát v tom, že jsme použili parametr -d pro odpojený režim a parametr -ti k připojení terminálu v interaktivním režimu, abych s ním mohl později pracovat.

Chcete-li zkontrolovat běžící kontejner, spusťte následující příkaz

sudo docker ps

Zastavme kontejner

sudo docker stop mynotepad-v2

Nyní, když spustíte příkaz `docker ps`, nic tam neuvidíte.
Začněme to znovu následujícím příkazem:

sudo docker spustit mynotepad-v2

Pokud zaškrtnete složku, kterou jsme dříve vytvořili, uvidíte instalaci WordPress

Více o obrázku, který jsme použili, si můžete přečíst na docker hubu https://hub.docker.com/r/bitnami/wordpress/

Vytvoření osobního poznámkového bloku pomocí kontejneru DokuWiki

Tentokrát si poznámkový blok vytvoříme pomocí DokuWiki. Jak jsme již dříve stáhli obrázek, jediné, co zbývá udělat, je vytvořit z něj kontejner.

Spusťte tedy následující příkaz k vytvoření našeho `mywikipad` s názvem kontejner

docker run -d -p 80:80 --name mywikipad mprasil/dokuwiki

A pak přejděte do svého prohlížeče a přidejte následující adresu pro zahájení konfigurace vašeho poznámkového bloku wiki:

http://localhost/install.php

Více o DokuWiki se můžete dozvědět z oficiální dokumentace a upravit si wiki pro své potřeby:

https://www.dokuwiki.org/manual

Odstranění kontejneru Docker

Jakmile budete spokojeni s vytvářením, spouštěním a zastavováním ukotvovacích kontejnerů, zjistíte, že budete muset vyčistit nepořádek při testování vytvořený více kontejnery.

Chcete-li kontejner nejprve odstranit, musíte jej zastavit a poté jej odstranit spuštěním následujícího příkazu:

docker rm 

Můžete také přidat více ID do stejného příkazu `docker rm` a odstranit více kontejnerů dockeru současně.

Přehled

V této části jsme se naučili, jak vytvořit kontejner a použít jej praktickým způsobem k vytvoření osobního poznámkového bloku založeného na WordPress nebo DokuWiki. Podívali jsme se na některé základní příkazy, jak spouštět a zastavovat kontejnery, které vytváříme, a jak mazat obrázky a kontejnery.

V příštím díle se podíváme na to, jak se vytvářejí obrázky dockeru vytvořením našich vlastních.


Docker
  1. Jak přesunout obrazy Dockeru mezi hostiteli

  2. Jak zmenšit velikost obrázku Docker:6 metod optimalizace

  3. Jak používat Docker Compose

  1. Jak použít Dockerfile k vytvoření Docker Image

  2. Jak sdílet obrázky Docker s ostatními

  3. Jak nakonfigurovat docker pro použití proxy

  1. Jak a proč používat vzdáleného hostitele dockeru

  2. Jak používat příkaz Docker Inspect

  3. Jak upravit obrázky Docker