Základy Master Docker s těmito důležitými pojmy vysvětlenými jednoduchými slovy.
Mastering Docker je žádaná dovednost pro backendové softwarové inženýry. Docker vám pomůže vytvářet, balit a distribuovat aplikace.
Dockerizované aplikace mohou běžet v různých prostředích. To snižuje prostoje aplikací a poskytuje podnikům konkurenční výhodu. Ale Docker může být zastrašující, když se ho začnete učit. Zde jsou důležitá témata, která se můžete naučit ovládat Docker.
Co je Docker?
Docker je software používaný k balení aplikací do spustitelných jednotek nazývaných kontejnery. Docker poskytuje podporu pro rychlé vytváření, testování a nasazování aplikací.
Když používáte Docker, komunikujete s Docker Enginem. Docker Engine můžete nainstalovat na jakýkoli operační systém, včetně Windows 10 a 11, Operační Systém Macnebo Systémy Ubuntu/Linux. Existuje mnoho nástrojů a konceptů, které se potřebujete naučit efektivně používat Docker. Zde jsou ty nejzásadnější, abyste mohli začít.
1. Obrázek Docker
Obrázek Docker je lehký plán používaný k vytváření kontejnerů. Je to šablona instrukcí specifikujících operační systém, kód aplikace a závislosti. Definujete pokyny, jak vytvořit image na Dockerfile.
V souboru uvedete vše, co vaše aplikace potřebuje. Docker poté automaticky vytvoří obrázek na základě poskytnutých pokynů. Různé obrázky můžete najít v online registru Docker, Docker Hub. Docker doporučuje používat oficiální obrázky z bezpečnostních důvodů.
Můžete také vytvářet obrázky na základě přizpůsobených konfigurací. Obrázky přicházejí v různých velikostech, operačních systémech a jazycích. Můžete si vybrat ten, který nejlépe vyhovuje vaší aplikaci. Můžete se například učit jak vytvořit Docker image webového API .NET.
2. Docker kontejner
Kontejnery jsou jednotky používané k zabalení aplikace do spustitelné jednotky. Kontejnery obsahují vše potřebné ke spuštění aplikace, včetně knihoven, kódu, závislostí a běhového prostředí.
Kontejnery izolují aplikace do jednotek, což jim umožňuje konzistentně běžet v různých prostředích. Kontejnery umožňují spravovat aplikace ve vývojových a produkčních prostředích, aniž by došlo k chybám. Existují mnoho případů použití pro kontejnery které můžete prozkoumat.
Kontejnery Docker obsahují podrobnosti, jako je ID kontejneru, obrázek a základní operační systém. Můžete také vidět runtime, stav a název kontejneru. Chcete-li vypsat všechny kontejnery ve vašem systému, použijte následující příkaz:
docker container ls
Zobrazí se podrobnosti o všech běžících kontejnerech:
Můžete také použít docker ps pro zobrazení všech běžících kontejnerů. A kontrola kontejneru dockeru [ID kontejneru] pro zobrazení obsahu kontejneru.
4. Dockerfile
Dockerfile je dokument, který specifikuje instrukce, jak vytvořit image Docker. Soubor určuje základní obraz, kód aplikace a soubory potřebné k vytvoření obrazu.
Soubor také obsahuje proměnné prostředí a příkazy pro vytvoření obrazu. Dockerfile můžete vytvořit jako jakýkoli jiný soubor. Pokyny k souboru musíte zadat pomocí syntaxe, které Docker rozumí. Následuje příklad ukázkového souboru Dockerfile:
5. Docker Compose
Docker Compose je nástroj pro definování a spouštění vícekontejnerových aplikací Docker. Všechny služby nakonfigurujete v souboru YAML. Soubor YAML je dokument, ve kterém specifikujete potřebné služby pro vaši aplikaci. Poté můžete vytvořit a spustit všechny služby pomocí jediného příkazu.
Docker Compose může spouštět aplikace v různých prostředích. Mohou to být produkční, pracovní, vývojová nebo testovací prostředí. Docker Compose zjednodušuje složitý proces orchestrace více kontejnerů.
Docker Compose můžete použít ke správě aplikace po celou dobu jejího životního cyklu. To může zahrnovat spouštění, zastavování a přestavbu služeb. Můžete také zobrazit stav spuštěných služeb, streamovat výstup protokolu a spouštět příkazy ve službě.
Pomocí Docker Compose můžete konfigurovat sítě, spravovat svazky a určovat závislosti. Můžete také horizontálně škálovat aplikace v produkci zadáním replikačních služeb.
Compose zjednodušuje nasazení složitých aplikací do různých prostředí. Můžete jej také použít k replikaci stejného prostředí v různých systémech. Naučte se používat Docker Compose může zvýšit efektivitu vaší aplikace.
Zde je příklad souboru YAML Docker Compose:
6. Docker Hub
Docker Hub je online registr kontejnerů pro Docker. Je to největší registr kontejnerů a je to nástroj pro spolupráci pro vývojáře a přispěvatele s otevřeným zdrojovým kódem. Je to také vynikající tržiště pro dodavatele softwaru.
Docker Hub je důvěryhodný zdroj pro nalezení spolehlivého virtualizačního softwaru. Můžete vytvořit úložiště a sdílet více než 100 000 obrázků.
Můžeš hostovat vaše aplikace a kód na platformě. Můžete také spolupracovat na projektech s dalšími vývojáři. Docker Hub má pro konkrétní autorizované týmy bezplatnou veřejnou možnost nebo placená soukromá úložiště.
7. Docker Networking
Docker networking je funkce, která umožňuje kontejnerům komunikovat mezi sebou a externími zdroji. Sítě zajišťují řízenou a izolovanou komunikaci mezi kontejnery. Mohou to být kontejnery běžící na jednom nebo více hostitelích.
Když na svém počítači spustíte kontejner, není vystaven externím sítím. Porty slouží k vystavení kontejnerů externím IP adresám, službám DNS, směrovacím tabulkám a internetovým bránám.
Síť umožňuje kontejnerům fungovat v izolovaných síťových prostředích. Sítě poskytují jmenné prostory a IP adresy, snižují konflikty kontejnerů a zvyšují bezpečnost.
8. Docker Volumes
V Dockeru jsou svazky mechanismem používaným k ukládání trvalých dat. Podle návrhu jsou kontejnery pomíjivé. To znamená, že je snadno nahradit nebo zničit se všemi jejich daty. Existují však případy, kdy byste chtěli data uchovat. V takových případech můžete ke správě trvalých dat použít svazky Docker.
Svazky mají také další využití, včetně umožnění sdílení dat mezi kontejnery. Ve srovnání s jinými formami úložiště se snadno zálohují a migrují. Navíc můžete spravovat svazky pomocí rozhraní Docker CLI nebo API.
Pokud spustíte kontejner bez svazku, Docker jej automaticky vytvoří. Můžete také vytvářet a spravovat svazky izolované z jakýchkoli kontejnerů. Pomocí následujícího příkazu vytvořte svazek.
docker volume create my-vol
Chcete-li zobrazit svazek, který jste vytvořili, spusťte následující příkaz:
docker volume ls //local my-vol
Poté můžete svazky připojit k libovolné nádobě, kterou chcete. Více o svazcích si můžete přečíst na Přístavní dělník oficiální dokumentace.
Další funkce Dockeru
Docker je jednou z nejlepších možností pro správu kontejnerů a správu verzí. Pokud se naučíte sadu nástrojů Docker, můžete zlepšit a zefektivnit svůj vývojový pracovní postup.
Docker má mnoho funkcí, které můžete použít ke správě svých aplikací. Po zvládnutí klíčových funkcí můžete prozkoumat další komplexní funkce, jako je Docker Swarm, který se používá k orchestraci složitých aplikací.