Návod na používanie Dockeru pre začiatočníkov
V našom tutoriáli k Dockeru vám predstavíme virtualizačnú platformu Docker a ukážeme vám, ako používať Docker vo vašom systéme Ubuntu 22.04 pomocou jednoduchých pokynov.
Štruktúra a vlastnosti Dockeru
„Vytvorte, odošlite a spustite akúkoľvek aplikáciu kdekoľvek“ – to je motto spoločnosti Docker. Platforma kontajnerov s otvoreným zdrojovým kódom ponúka flexibilnú alternatívu s nízkymi nárokmi na zdroje pre emuláciu hardvérových komponentov založenú na virtuálnych strojoch (VM).
Zatiaľ čo tradičná hardvérová virtualizácia je založená na spúšťaní viacerých hosťovských systémov na spoločnom hostiteľskom systéme, aplikácie Docker sa spúšťajú ako izolované procesy na tom istom systéme s pomocou kontajnerov. Tomuto sa hovorí virtualizácia založená na kontajneroch, tiež označovaná ako virtualizácia na úrovni operačného systému.

Veľkou výhodou virtualizácie založenej na kontajneroch je, že aplikácie s rôznymi požiadavkami môžu bežať izolovane od seba bez nutnosti samostatného hosťovského systému. Navyše, s kontajnermi je možné aplikácie nasadzovať na rôznych platformách a v rôznych infraštruktúrach bez nutnosti prispôsobovať sa hardvérovým alebo softvérovým konfiguráciám hostiteľského systému.
Docker je najpopulárnejší softvérový projekt, ktorý používateľom poskytuje virtualizačnú technológiu založenú na kontajneroch. Táto open-source platforma je založená na troch základných komponentoch. Na spustenie kontajnerov používatelia potrebujú iba Docker engine a špeciálne Docker obrazy, ktoré je možné získať prostredníctvom Docker hubu alebo vytvoriť sami.
Obrázky Docker
Podobne ako virtuálne stroje, aj kontajnery Docker sú založené na obrazoch Docker. Obraz je šablóna len na čítanie, ktorá obsahuje všetky pokyny, ktoré engine Docker potrebuje na vytvorenie kontajnera. Obraz Docker je popísaný ako prenosný obraz kontajnera vo forme textového súboru, nazývaného aj Dockerfile. Ak sa má kontajner spustiť v systéme, najskôr sa načíta balík s príslušným obrazom, pokiaľ neexistuje lokálne. Načítaný obraz poskytuje potrebný súborový systém vrátane všetkých parametrov pre beh. Kontajner možno považovať za bežiaci proces obrazu.
Docker hub
Docker hub je cloudový register softvérových repozitárov, druh knižnice pre obrazy Docker. Online služba je rozdelená na verejnú a súkromnú časť. Verejná časť ponúka používateľom možnosť nahrať svoje vlastné vyvinuté obrazy a zdieľať ich s komunitou. Tu je k dispozícii množstvo oficiálnych obrazov od vývojárskeho tímu Docker a etablovaných open-source projektov. Obrazy nahrané do súkromnej časti registra nie sú verejne prístupné, a preto ich možno zdieľať napríklad v rámci vnútorného kruhu spoločnosti alebo s priateľmi či známymi. Docker hub je dostupný na adrese hub.docker.com.
Docker engine
Srdcom projektu Docker je Docker engine. Ide o open-source klientsko-serverovú aplikáciu, ktorá je v aktuálnej verzii dostupná všetkým používateľom na všetkých etablovaných platformách.
Základná architektúra motora Docker je rozdelená na tri komponenty: démon s funkciami servera, programovacie rozhranie (API) založené na programovacom paradigme REST (Representational State Transfer) a terminál operačného systému (rozhranie príkazového riadku, CLI) ako používateľské rozhranie (klient).
- Docker daemon: Ako server pre Docker engine sa používa proces daemon. Docker daemon beží na pozadí hostiteľského systému a slúži na centrálne ovládanie Docker engine. Táto funkcia vytvára a spravuje všetky obrazy, kontajnery alebo siete.
- REST-API: REST-API špecifikuje súbor rozhraní, ktoré umožňujú iným programom komunikovať s démonom Docker a dávať mu pokyny. Jedným z týchto programov je terminál operačného systému.
- Terminál: Ako klientský program používa Docker terminál operačného systému. Ten je integrovaný s démonom Docker prostredníctvom REST-API a umožňuje používateľom ovládať ho prostredníctvom skriptov alebo používateľských vstupov.
V roku 2017 bol engine Docker premenovaný na Docker Community Edition (skrátene Docker CE), ale oficiálna dokumentácia a repozitáre Docker väčšinou stále používajú starý názov. Okrem Docker CE existuje aj Docker Enterprise Edition (Docker EE), ktorý má niektoré prémiové funkcie. Nie je však zadarmo a je vhodnejší pre podniky.
Pomocou príkazov Docker je možné spúšťať, zastavovať a spravovať softvérové kontajnery používateľov priamo z terminálu. Daemon je adresovaný prostredníctvom príkazu docker a inštrukcií ako build, pull alebo run. Klient a server môžu byť na rovnakom systéme. Používatelia majú tiež možnosť pristupovať k démonu Docker na inom systéme. V závislosti od typu vytvoreného pripojenia prebieha komunikácia medzi klientom a serverom prostredníctvom REST-API, UNIX socketov alebo sieťového rozhrania.
Nasledujúci graf znázorňuje vzájomné pôsobenie jednotlivých komponentov Dockeru s príkladovými príkazmi docker build, docker pull a docker run:

Príkaz docker build nariaďuje démonu Docker vytvoriť obraz (bodkovaná čiara). Na to musí byť k dispozícii príslušný súbor Dockerfile. Ak sa obraz nemá vytvoriť, ale namiesto toho sa má načítať z úložiska v Docker hub, použije sa príkaz docker pull (čiarkovaná čiara). Ak je démon Docker prostredníctvom docker run inštruovaný na spustenie kontajnera, program na pozadí skontroluje, či je príslušný obraz kontajnera lokálne dostupný. Ak áno, kontajner sa spustí (plná čiara). Ak démon obraz nenájde, automaticky iniciuje stiahnutie z repozitára.
Práca s Dockerom
Teraz je čas zoznámiť sa s aplikáciami kontajnerovej platformy. Ak ste ešte nenainštalovali Docker engine, môžete tak urobiť prostredníctvom terminálu Linux. Pokyny, ako to urobiť, nájdete v našom článku s názvom„Inštalácia Dockeru na Ubuntu 22.04“. Nižšie sa dozviete, ako ovládať Docker Engine z terminálu, čo vám môže Docker Hub ponúknuť a prečo môžu kontajnery Docker revolučným spôsobom zmeniť spôsob, akým pracujete s aplikáciami.
Ako ovládať engine Docker
Od verzie 16.04 používa Ubuntu na správu procesov program na pozadí systemd(skratka pre „system daemon“).Systemd jeproces init, ktorý sa používa aj v iných distribúciách Linuxu, ako sú RHEL, CentOS alebo Fedora.SystemdzvyčajnedostávaID procesu 1. Ako prvý proces systému je démon zodpovedný za spúšťanie, monitorovanie a ukončovanie všetkých nasledujúcich procesov. V predchádzajúcich verziách Ubuntu (14.10 a starších) túto funkciu preberáprogram na pozadí upstart.
Démon Docker sa dá ovládať aj cez systemd. Pri štandardnej inštalácii je platforma kontajnerov nakonfigurovaná tak, aby sa démon automaticky spustil pri štarte systému. Toto predvolené nastavenie sa dá prispôsobiť cez nástroj príkazového riadku systemctl.
Pomocou systemctl posielate príkazy do systemd na ovládanie procesu alebo na požiadanie o jeho stav. Syntax takéhoto príkazu je nasledovná:
systemctl [OPTION] [COMMAND]bashNiektoré príkazy sa vzťahujú na konkrétne zdroje (napríklad Docker). V terminológii systemd sa tieto zdroje označujú ako jednotky. V tomto prípade je príkaz výsledkom príslušnej inštrukcie a názvu jednotky, na ktorú sa vzťahuje.
Ak chcete aktivovať automatické spúšťanie démona Docker (povoliť) alebo ho deaktivovať (zakázať), použite nástroj príkazového riadku systemctl s nasledujúcimi príkazmi:
sudo systemctl enable docker
sudo systemctl disable dockerbashNástroj príkazového riadku systemctl vám umožňuje zistiť stav jednotky:
sudo systemctl status dockerbashAk je engine Docker vo vašom systéme Ubuntu aktívny, výstup v termináli by mal vyzerať ako na nasledujúcom snímku obrazovky:

Ak je váš Docker engine momentálne deaktivovaný, dostanete oznámenie o stave inactive (dead). V takomto prípade musíte ručne spustiť Docker daemon, aby ste mohli spustiť kontajnery.

Ak chcete ručne spustiť, zastaviť alebo reštartovať svoj Docker engine, použite jeden z nasledujúcich príkazov v systéme systemd.
Na spustenie deaktivovaného démona použite systém systemctl v kombinácii s príkazom start:
sudo systemctl start dockerbashAk chcete ukončiť démon Docker, použite namiesto toho príkaz stop:
sudo systemctl stop dockerbashReštartovanie motora sa spustí príkazom restart:
sudo systemctl restart dockerbashAko používať Docker hub
Ak je Docker engine srdcom kontajnerovej platformy, potom je Docker hub dušou open-source projektu. Tu sa stretáva komunita. V cloudovom registri môžu používatelia nájsť všetko, čo potrebujú na oživenie svojej inštalácie Docker.
Online služba ponúka rôznorodé oficiálne repozitáre s viac ako 100 000 bezplatnými aplikáciami. Používatelia majú možnosť vytvoriť archív obrázkov a používať ich spoločne s pracovnými skupinami. Okrem profesionálnej podpory, ktorú ponúka vývojový tím, tu môžu začiatočníci nájsť aj kontakty na komunitu používateľov. Fórum pre podporu komunity je k dispozícii na GitHub.

Registrácia v Docker hub
Registrácia v Docker Hub je bezplatná. Používatelia potrebujú len e-mailovú adresu a zvolené Docker ID. To slúži neskôr ako osobný priestor pre úložisko a poskytuje používateľom prístup ku všetkým službám Docker. V súčasnosti táto ponuka okrem Docker Hub zahŕňa aj Docker Cloud, Docker Store a vybrané beta programy. Umožňuje tiež používať Docker ID ako prihlasovacie údaje do centra podpory Docker, ako aj do portálu Docker Success a fóra Docker.
Proces registrácie pozostáva z piatich krokov:
- Vyberte si svoje Docker ID: Ako prvú časť žiadosti si vyberte používateľské meno, ktoré sa neskôr použije ako vaše osobné Docker ID.
- Zadajte e-mailovú adresu: Zadajte svoju aktuálnu e-mailovú adresu. Upozorňujeme, že registráciu v Docker hub budete musieť potvrdiť prostredníctvom e-mailu.
- Vyberte si heslo: Vyberte si tajné heslo.
- Odošlite registráciu: Kliknite na „Sign up“ (Zaregistrovať sa), aby ste odoslali registráciu. Po úplnom odoslaní údajov vám Docker pošle odkaz na overenie vašej e-mailovej adresy do vašej uvedenej schránky.
- Potvrďte svoju e-mailovú adresu: Potvrďte svoju e-mailovú adresu kliknutím na overovací odkaz.
Online služby projektu Docker sú ihneď dostupné po registrácii v prehliadači. Tu môžete vytvárať repozitáre a pracovné skupiny alebo vyhľadávať verejné zdroje v Docker Hub pomocou funkcie „Explore“.

Môžete sa tiež zaregistrovať priamo v termináli vášho operačného systému prostredníctvom prihlásenia do Dockeru. Podrobný popis príkazu nájdete v dokumentácii Dockeru.
V zásade je Docker hub dostupný aj pre používateľov bez účtu alebo Docker ID. V takomto prípade je však možné načítať iba obrazy z verejných úložísk. Nahratie (push) vlastných obrazov nie je možné bez Docker ID.
Vytvorenie úložísk v Docker Hub
Bezplatný účet Docker Hub obsahuje jeden súkromný repozitár a ponúka možnosť vytvoriť ľubovoľný počet verejných repozitárov. Ak potrebujete viac súkromných repozitárov, môžete ich odomknúť prostredníctvom plateného upgrade.
Na vytvorenie úložiska postupujte takto:
- Vyberte si menný priestor: Novo vytvorené repozitáre sú automaticky priradené k mennému priestoru vášho Docker ID. Máte tiež možnosť zadať ID organizácie, ktorej ste členom.
- Označte repozitár: Zadajte názov novo vytvoreného repozitára.
- Pridať popis: Pridajte krátky popis vášho repozitára.
- Nastavte viditeľnosť: Rozhodnite sa, či má byť repozitár verejne viditeľný (verejný) alebo prístupný len vám alebo vašej organizácii (súkromný).
Potvrďte svoje zadanie kliknutím na „Vytvoriť“.

Vytvárajte tímy a organizácie
S hubom poskytuje Docker cloudovú platformu, na ktorej sa vlastné obrazy centrálne spravujú a pohodlne zdieľajú s pracovnými skupinami. V terminológii Docker sa tieto skupiny nazývajú organizácie. Rovnako ako používateľské účty, aj organizácie dostávajú individuálne ID, prostredníctvom ktorých je možné obrazy poskytovať a sťahovať. Práva a úlohy v rámci organizácie je možné prideľovať prostredníctvom tímov. Napríklad používatelia pridelení do tímu „Vlastníci“ majú oprávnenie vytvárať súkromné alebo verejné úložiská a prideľovať prístupové práva.
Pracovné skupiny je možné vytvárať a spravovať aj priamo prostredníctvom riadiaceho panela. Ďalšie informácie o organizáciách a tímoch nájdete v dokumentácii Docker.
Práca s obrázkami a kontajnermi
Ako prvý kontaktný bod pre oficiálne zdroje Dockeru je Docker hub naším východiskovým bodom pre tento úvod do práce s obrazmi a kontajnermi. Tím vývojárov poskytol demo obraz whalesay, ktorý bude slúžiť ako základ pre nasledujúci tutoriál Dockeru.
Stiahnuť obrazy Docker
Obrázok whalesay nájdete na webovej stránke Docker hub, keď do vyhľadávacieho poľa vedľa loga Docker zadáte výraz whalesay.

Vo výsledkoch vyhľadávania kliknite na zdroj s názvom docker/whalesay, aby ste získali prístup k verejnému úložisku pre tento obrázok.
Repozitáre Docker sú vždy vytvorené podľa rovnakého vzoru. V hlavičke stránky nájdu používatelia názov obrazu, kategóriu repozitára a čas posledného nahrania (last pushed).

Každé úložisko Docker ponúka aj nasledujúce informačné políčka:
- Popis: Podrobný popis, zvyčajne vrátane návodu na použitie
- Príkaz Docker pull: Príkazový riadok používaný na stiahnutie obrazu z úložiska (
pull) - Vlastník: Informácie o tvorcovi úložiska
- Komentáre: Sekcia komentárov na konci stránky
Informačné polia úložiska ukazujú, že whalesay je modifikáciou open-source skriptu Perl cowsay. Program, vyvinutý Tony Monroeom v roku 1999, generuje ASCII grafiku v podobe kravy, ktorá sa zobrazuje spolu so správou v termináli používateľa.
Na stiahnutie docker/whalesay použite príkaz docker pull:
docker pull [OPTIONS] NAME [:TAG|@DIGEST]bashPríkaz docker pull nariaďuje démonovi načítať obraz z úložiska. Určíte, o ktorý obraz ide, zadávaním názvu obrazu (NAME). Môžete tiež nariadiť Dockeru, ako má byť požadovaný príkaz vykonaný (OPTIONS). Voliteľné vstupy zahŕňajú tagy (:TAG) a individuálne identifikačné čísla (@DIGEST), ktoré vám umožňujú stiahnuť konkrétnu verziu obrazu.
Lokálnu kópiu obrazu docker/whalesay získate pomocou nasledujúceho príkazu:
docker pull docker/whalesaybashVšeobecne môžete tento krok preskočiť. Ak chcete spustiť kontajner, démon Docker automaticky stiahne obrazy z úložiska, ktoré nemôže nájsť v lokálnom systéme.
Spustite obrazy Docker ako kontajnery
Na spustenie obrazu Docker použite príkaz docker run:
docker run [OPTIONS] IMAGE [:TAG|@DIGEST] [CMD] [ARG...]bashJedinou povinnou súčasťou príkazu docker run je názov požadovaného obrazu Docker. Pri spustení kontajnera však máte možnosť definovať aj ďalšie možnosti, TAG a DIGEST. Príkaz docker run je možné kombinovať s ďalšími príkazmi, ktoré sa spustia hneď po spustení kontajnera. V tomto prípade sa prepíše CMD (COMMAND, definované tvorcom obrazu a automaticky vykonávané pri spustení kontajnera). Ďalšie voliteľné konfigurácie je možné definovať prostredníctvom dodatočných argumentov (ARG…). To umožňuje napríklad pridávať používateľov alebo prenášať premenné prostredia.
Použite príkazový riadok
docker run docker/whalesay cowsay boobashna stiahnutie existujúceho skriptu Perl ako obraz a spustenie v kontajneri. Uvidíte, že whalesay sa výrazne líši od zdrojového skriptu.

Ak je spustený obrázok docker/whalesay, skript vypíše ASCII grafiku v podobe veľryby, ako aj textovú správu „boo“, odoslanú pomocou príkazu cowsay v termináli.
Rovnako ako pri testovacom behu, démon najskôr vyhľadá požadovaný obraz v lokálnom adresári súborov. Keďže neexistuje balík s rovnakým názvom, spustí sa sťahovanie z repozitára Docker. Potom démon spustí upravený program cowsay. Ak sa tento program úspešne spustí, kontajner sa automaticky ukončí.
Podobne ako cowsay, aj whalesay od Dockera ponúka možnosť zasiahnuť do sekvencie programu a ovplyvniť textový výstup v termináli. Túto funkciu vyskúšajte nahradením „boo“ vo výstupnom príkaze akýmkoľvek reťazcom znakov alebo napríklad trápnym vtipom o veľrybách.
sudo docker run docker/whalesay cowsay What did the shark say to the whale? What are you blubbering about?bash
Zobraziť všetky obrazy Docker v lokálnom systéme
Ak si nie ste istí, či ste už konkrétny obrázok stiahli, môžete zobraziť prehľad všetkých obrázkov vo vašom lokálnom systéme. Použite nasledujúci príkazový riadok:
sudo docker imagebashPríkaz docker images (alternatíva docker image ls) vypíše všetky lokálne obrázky vrátane veľkosti súboru, značky a ID obrázku.

Ak spustíte kontajner, základný obraz sa stiahne ako kópia z úložiska a trvalo sa uloží do vášho počítača. Tým ušetríte čas, ak budete chcieť k obrazu pristupovať neskôr. Nové stiahnutie sa spustí len v prípade, ak sa zmení zdroj obrazu, napríklad ak je v úložisku k dispozícii aktuálna verzia.
Zobraziť všetky kontajnery v lokálnom systéme
Ak chcete zobraziť prehľad všetkých kontajnerov, ktoré bežia vo vašom systéme alebo boli spustené v minulosti, použite príkazový riadok docker ps v kombinácii s voľbou --all (skrátene: -a):
sudo docker ps -abash
Výstup terminálu obsahuje informácie, ako je príslušné ID kontajnera, základný obraz, príkaz spustený pri štarte kontajnera, čas spustenia kontajnera a stav.
Ak chcete zobraziť len kontajnery, ktoré sú momentálne spustené vo vašom systéme, použite príkazový riadok docker ps bez ďalších volieb:
sudo docker psbashV súčasnosti by však vo vašom systéme nemali byť spustené žiadne kontajnery.
Vytvorenie obrazov Docker
Nie je to tak, že náš tutoriál k Dockeru vám ukázal, ako nájsť obrazy v Docker hub, stiahnuť ich a spustiť na akomkoľvek systéme s nainštalovaným Docker engine. Ale s Dockerom nebudete mať prístup len k rozsiahlej škále aplikácií dostupných v registri. Platforma ponúka aj širokú škálu možností na vytváranie vlastných obrazov a ich zdieľanie s inými vývojármi.
V úvodných kapitolách tohto tutoriálu o Docker ste sa už dozvedeli, že každý obraz Docker je založený na súbore Dockerfile. Súbory Dockerfile si môžete predstaviť ako akési stavebné šablóny pre obrazy. Ide o jednoduché textové súbory, ktoré obsahujú všetky pokyny, ktoré Docker potrebuje na vytvorenie obrazu. V nasledujúcich krokoch sa naučíte, ako napísať tento typ súboru Dockerfile a nariadiť Docker, aby ho použil ako základ pre váš vlastný obraz.
- Vytvorenie nového adresára: Tím vývojárov Docker odporúča vytvoriť nový adresár pre každý súbor Dockerfile. Adresáre sa v systéme Linux ľahko vytvárajú v termináli. Použite nasledujúci príkaz na vytvorenie adresára s názvom mydockerbuild:
mkdir mydockerbuildbash
- Navigácia v novom adresári: Použite príkaz
cdna navigáciu v novo vytvorenom pracovnom adresári.
cd mydockerbuildbash
- Vytvorenie nového textového súboru: Textové súbory môžete v systéme Ubuntu ľahko vytvárať aj prostredníctvom terminálu. Na tento účel použite editor, napríklad Nano alebo Vim. Vytvorte textový súbor s názvom Dockerfile v adresári mydockerbuild.
nano Dockerfilebash
- Napíšte Dockerfile: Novo vytvorený textový súbor slúži ako stavebný plán pre váš vlastný obraz. Namiesto programovania obrazu od základov použijeme v tomto tutoriáli Docker ako šablónu demo obraz docker/whalesay. Ten je integrovaný pomocou príkazu FROM vo vašom Dockerfile. Použite tag :latest na odkazovanie na najnovšiu verziu obrazu.
FROM docker/whalesay:latestDoteraz funguje docker/whalesay tak, že mu vkladáte slová do úst. V termináli sa zobrazí presný text, ktorý ste zadali, v kombinácii s príkazom na spustenie kontajnera. Bolo by však zaujímavejšie, keby skript automaticky generoval nový textový výstup. To je možné napríklad pomocou programu fortunes, ktorý je k dispozícii v každom systéme Linux. Základnou funkciou programu fortunes je generovanie výrokov z koláčikov šťastia a vtipných aforizmov. Použite nasledujúci príkaz na aktualizáciu vášho aktuálneho lokálneho indexu balíkov a inštaláciu programu fortunes:
RUN apt-get -y update && apt-get install -y fortunesPotom definujte príkaz CMD. Ten sa vykoná po príkaze RUN, pokiaľ nie je prepísaný volaním (docker run image CMD). Použite nasledujúci príkaz na spustenie programu fortunes s voľbou -a („Vybrať zo všetkých databáz“) a zobrazenie výstupu prostredníctvom programu cowsay v termináli:
CMD /usr/games/fortune -a | cowsayVáš súbor Dockerfile by mal vyzerať takto:
FROM docker/whalesay:latest
RUN apt-get -y update && apt-get install -y fortunes
CMD /usr/games/fortune -a | cowsayPoznámka: Príkazy v súbore Dockerfile sú vždy písané s jednoduchým riadkovaním a vždy začínajú kľúčovým slovom. Základná syntax nie je citlivá na veľkosť písmen, takže nezáleží na tom, či píšete veľkými alebo malými písmenami. Bola však stanovená konzistentná veľkosť písmen kľúčových slov.

- Uložte textový súbor: Uložte svoj záznam. Ak používate editor Nano, uložte ho pomocou kombinácie klávesov [CTRL] + [O] a potvrďte klávesom [ENTER]. Nano vám oznámi, že do vybraného súboru boli zapísané tri riadky. Textový editor zatvorte kombináciou klávesov [CTRL] + [X].
- Vytvorenie obrazu ako Dockerfile: Ak chcete vytvoriť obraz z Dockerfile, prejdite najskôr do adresára, v ktorom sa nachádza textový súbor. Spustite vytváranie obrazu pomocou príkazu
docker build. Ak chcete obraz individuálne pomenovať alebo mu prideliť značku, použite možnosť-ta potom požadovanú kombináciu označenia a značky. Štandardný formát jename:tag.
V aktuálnom príklade by mal byť vytvorený obrázok s názvom docker-whale:
docker build -t docker-whale .bashPosledný úsek označuje, že základný súbor Dockerfile sa nachádza vo vybranom adresári. Máte tiež možnosť špecifikovať cestu k súboru alebo URL pre zdrojové súbory.
Proces zostavovania sa spustí hneď po potvrdení príkazu stlačením klávesy [ENTER]. Najskôr démon Docker skontroluje, či má všetky súbory potrebné na vytvorenie obrazu. V terminológii Docker sa to zhrňuje pod pojmom „kontext“.
Potom sa obraz docker/whalesay s tagom :latest nachádza:
Ak požadovaný kontext pre vytvorenie obrazu už existuje v celom rozsahu, démon Docker spustí šablónu obrazu pripojenú prostredníctvom FROM v dočasnom kontajneri a prejde k ďalšiemu príkazu v súbore Dockerfile. V aktuálnom príklade je to príkaz RUN, ktorý spôsobí inštaláciu programu fortunes.
Na konci každého kroku procesu vytvárania obrazu vám Docker pridelí ID pre príslušnú vrstvu, ktorá bola vytvorená v danom kroku. To znamená, že každý riadok v podkladovom súbore Dockerfile zodpovedá vrstve obrazu, ktorý je na ňom postavený.
Po dokončení príkazu RUN démon Docker zastaví kontajner vytvorený pre tento príkaz, odstráni ho a spustí nový dočasný kontajner pre vrstvu príkazu CMD. Na konci procesu vytvárania sa tento dočasný kontajner tiež ukončí a odstráni. Docker vám poskytne ID nového obrazu:
Successfully built a8f2048c9ab8
Váš novo vytvorený obraz nájdete pod názvom docker-whale v prehľade vašich lokálne uložených obrazov.
sudo docker imagesbash
Na spustenie kontajnera z novo vytvoreného obrazu použite príkazový riadok sudo docker run v kombinácii s názvom obrazu:
sudo docker run docker-whalebashAk bol obraz správne vytvorený z Dockerfile, vaša veľryba by vás teraz mala inšpirovať viac či menej múdrymi slovami. Poznámka: Pri každom reštarte kontajnera sa vygeneruje nová fráza.

Označte obrazy Docker a nahrajte ich do Docker Hub.
Ak chcete nahrať svoj vlastný obraz docker-whale do hubu a sprístupniť ho komunite alebo pracovnej skupine, musíte ho najskôr prepojiť s repozitárom s rovnakým názvom vo vašom osobnom mennom priestore. V terminológii Docker sa tento krok nazýva tagovanie.
Ak chcete publikovať obrázok v Docker Hub, postupujte takto:
- Vytvorte úložisko: Prihláste sa do Docker Hub pomocou svojho Docker ID a osobného hesla a vytvorte verejné úložisko s názvom docker-whale.

- Určite ID obrázku: Určite ID vášho vlastného obrázku docker-whale pomocou príkazu
docker images.

V našom prípade je ID obrázku a8f2048c9ab8. Potrebujeme ho na označenie v ďalšom kroku.
- Označte obrázok: Označte obrázok docker-whale pomocou programu príkazového riadku
docker tagpodľa nasledujúceho postupu:
sudo docker tag [Image-ID][Docker-ID]/[Image-Name]:[TAG]bashV aktuálnom príklade je príkazová riadková direktíva pre označovanie nasledovná:
sudo docker tag a8f2048c9ab8 [Namespace]/docker-whale:latestbashPomocou prehľadu docker images môžete skontrolovať, či ste svoj obrázok správne označili. Názov úložiska by teraz mal obsahovať vaše Docker ID.

- Nahrajte obrázok: Ak chcete nahrať obrázok, musíte sa najskôr prihlásiť do Docker hub. To môžete urobiť pomocou príkazu
docker login.
sudo docker loginbashTerminál vás potom vyzve na zadanie používateľského mena (Docker ID) a hesla.

Ak sa prihlásenie podarilo, použite príkazový riadok docker push na nahratie obrázku do novo vytvoreného úložiska.
sudo docker push [Namespace]/docker-whalebashProces nahrávania by mal trvať len niekoľko sekúnd. Aktuálny stav sa zobrazuje v termináli.

Prihláste sa do Docker Hubu prostredníctvom prehliadača, aby ste mohli zobraziť nahraný obrázok.
![Docker hub: The repository [Namespace]/docker-whale in the detailed view Obrázok: Docker hub: The repository [Namespace]/docker-whale in the detailed view](https://guides.uicdn.net/fileadmin/_processed_/5/e/csm_docker-hub-push-result_56530d8ebc.webp)
Ak chcete nahrať viac ako jeden obrázok do jedného úložiska, použite rôzne tagy, aby ste mohli ponúknuť svoje obrázky v rôznych verziách. Napríklad:
[Namespace]/docker-whale:latest
[Namespace]/docker-whale:version1
[Namespace]/docker-whale:version2Prehľad rôznych verzií obrázkov nájdete v repozitári Docker hub v záložke „Tags“ (Tagy).

Obrázky rôznych projektov by však mali byť ponúkané v samostatných úložiskách.
Ak bolo nahratie úspešné, váš vlastný obraz bude teraz k dispozícii vo verejnom repozitári pre všetkých používateľov Dockeru po celom svete.
- Testovacie spustenie: Otestujte úspešnosť nahrania pokusom o stiahnutie obrázku.
Upozorňujeme, že lokálna verzia obrazu musí byť najskôr odstránená, aby bolo možné stiahnuť novú kópiu s rovnakou značkou. V opačnom prípade Docker nahlási, že požadovaný obraz už existuje v aktuálnej verzii.

Na odstránenie lokálneho obrazu Docker použite príkazový riadok docker rmi v kombinácii s príslušným ID obrazu. To sa určuje, ako zvyčajne, prostredníctvom docker images. Ak Docker zaznamená konflikt, napr. preto, že ID obrazu sa používa vo viacerých repozitároch alebo sa používa v kontajneri, zopakujte príkaz s voľbou --force (skrátene*-f* ), aby ste vynútili odstránenie.
sudo docker rmi -f a8f2048c9ab8bash
Znovu zobraziť prehľad všetkých lokálnych obrázkov:
sudo docker ImagesbashOdstránené prvky by sa už nemali zobrazovať vo výstupe terminálu. Teraz použite príkaz pull uvedený v repozitári na stiahnutie novej kópie obrazu z Docker hub.
sudo docker pull [Namespace]/docker-whalebash
Ďalšie témy a návody týkajúce sa Dockeru
Svet Dockeru je rozsiahly a v priebehu času sa z nástrojov Dockeru vyvinul živý ekosystém. Docker je obzvlášť užitočný pre správcov, najmä ak prevádzkujú komplexné aplikácie s viacerými kontajnermi paralelne na rôznych systémoch. Docker ponúka rôznorodé funkcie na koordináciu takýchto klastrov. Viac informácií o tejto téme nájdete v našom článku o koordinácii Dockeru s nástrojmi Swarm a Compose.
Digitálny sprievodca obsahuje ďalšie návody na prácu s Dockerom:
- Nastavenie úložiska Docker
- Objemy kontajnerov Docker
- Docker: Zálohovanie a obnovenie
- Inštalácia a spustenie Docker na serveri Linux
- Návod na používanie Docker Compose
Docker je vhodný pre rôzne scenáre použitia. V digitálnom sprievodcovi nájdete nasledujúce návody:
- Nasadenie WordPressu v kontajneroch Docker
- Spustite VPN v kontajneri Docker pomocou SoftEther
- Inštalácia Nextcloud s Docker
- Inštalácia Portainer pod Docker
- Redis v kontajneroch Docker
- Server Valheim Docker
Docker nie je vždy tou najlepšou voľbou pre každú aplikáciu. Jeden z našich článkov sa venuje najpopulárnejším alternatívam Dockeru. Okrem toho máme k dispozícii mnoho článkov, ktoré porovnávajú Docker s inými platformami:
- Kubernetes vs. Docker
- Openshift vs. Docker
- Podman vs. Docker