Vše, co byste měli vědět o Docker Hub

Seznamte se s Docker Hub

V tomto článku se podíváme na Docker Hub, naučíme se, jak jej používat, jak sestavit vlastní obraz a jak usnadňuje publikování a stahování obrazů z Docker Hub. Dále prozkoumáme populární repozitáře na Docker Hubu.

Předpoklady

Pro tento článek budete potřebovat základní znalosti o Dockeru, operačních systémech Windows a Linux. Budeme používat Docker Desktop pro procvičení vytváření a nahrávání obrazů na Docker Hub. Uživatelé Windows a Mac si mohou Docker Desktop stáhnout a nainstalovat zde, uživatelé Linuxu mohou postupovat podle tohoto odkazu.

Co je Docker Hub?

Docker Hub je služba registru repozitářů poskytovaná společností Docker Inc.

Umožňuje nám stahovat a odesílat Docker obrazy. Můžeme si ho představit jako GitHub pro obrazy kontejnerů. Jedná se o cloudové úložiště, které ukládá veřejné i soukromé repozitáře. Veřejné repozitáře jsou dostupné všem, zatímco soukromé jsou přístupné pouze vlastníkovi. Za uchovávání většího počtu soukromých repozitářů se platí poplatky.

Funkce Docker Hub

Docker Hub nabízí několik následujících funkcí:

Úložiště obrazů

Umožňuje nám vyhledávat a stahovat obrazy kontejnerů z Docker Hub. Také umožňuje nahrávat obrazy jako veřejné nebo soukromé repozitáře.

Týmy a organizace

Můžeme vytvářet pracovní skupiny a označovat repozitáře jako soukromé, dostupné pouze pro naši organizaci, čímž spravujeme přístup k obrazům kontejnerů.

Integrace s GitHub a Bitbucket

Docker Hub umožňuje integraci s repozitáři zdrojového kódu, jako jsou GitHub a Bitbucket.

Automatizované sestavení

Při změnách ve zdrojovém kódu se automaticky detekují a sestavují obrazy kontejnerů z GitHubu nebo Bitbucketu a odesílají na Docker Hub.

Webhooky

Po úspěšném nahrání obrazu pomocí webhooku se spouštějí akce pro integraci Docker Hubu s dalšími službami.

Oficiální a ověřené obrazy

Kvalitní obrazy poskytované Dockerem jsou považovány za oficiální a jsou k dispozici ke stažení a použití. Obdobně existují ověřené obrazy od externích dodavatelů, které garantují kompatibilitu s podnikem Docker. Více o certifikovaných obrazech si povíme později.

Vytvoření prvního repozitáře

Pro tento krok se musíte přihlásit na Docker Hub. Pokud nemáte účet, vytvořte si jej kliknutím na „Sign up“. Po přihlášení vytvoříte repozitář kliknutím na tlačítko „Create Repository“.

  • Po kliknutí na „Create Repository“ budete vyzváni k zadání názvu repozitáře.

  • Vyberte viditelnost: veřejný nebo soukromý.

Můžete integrovat repozitář s GitHubem nebo Bitbucketem v nastavení sestavení, ale to lze provést i později.

  • Po dokončení klikněte na „Create“.

Gratulujeme! Vytvořili jste první repozitář, který bude vypadat takto:

Docker Hub poskytuje zdarma pouze jeden soukromý repozitář. Pro více soukromých repozitářů je nutný placený tarif.

Nyní otevřete Docker Desktop a přihlaste se k Docker Hubu pomocí příkazu:

docker login

Prozkoumávání obrazů

Veřejné repozitáře a obrazy lze prohledávat dvěma způsoby: buď přímo na webu Docker Hub, nebo pomocí příkazového řádku. Chceme-li například vyhledat obraz MySQL, zadáme:

docker search mysql

Stahování obrazu

Obraz si stáhnete příkazem pull:

# docker pull mysql

Pokud již máte obraz mysql, tento příkaz jej aktualizuje na nejnovější verzi. Na Docker Hubu je mnoho obrazů MySQL, protože každý může nahrát svůj obraz. Je na nás, který si vybereme, na základě našeho použití.

Řekněme, že chceme stáhnout obraz bitnami/mysql:

# docker pull bitnami/mysql

Vytvoření obrazu

Pro tento proces je potřeba Dockerfile. Dockerfile je instrukční soubor, který říká Dockeru, co má sestavit. Je to konfigurační soubor s instrukcemi pro sestavení obrazu.

Jak to funguje?

Docker čte instrukce z Dockerfile a automaticky vytváří obrazy. Obraz Docker je vrstvený systém souborů. Každá vrstva představuje instrukci z Dockerfile. Při vytváření obrazu postupujte podle níže uvedených kroků.

Vytvořte soubor Dockerfile s konfigurací vaší aplikace:

# sudo vim Dockerfile

Poznámka: Název souboru musí být Dockerfile (s velkým „D“).

FROM ubuntu:16.04
MAINTAINER [email protected]
RUN apt-get update
RUN apt-get install –y mysql
CMD echo "Můj první obraz byl vytvořen."

Pojďme se podívat na klíčová slova:

  • Symbol # přidává komentáře do Dockerfile.
  • Klíčové slovo „FROM“ definuje základní obraz, který se má použít.
  • „MAINTAINER“ označuje osobu, která bude obraz spravovat.
  • „RUN“ spouští instrukce pro obraz (aktualizace systému, instalace MySQL).
  • „CMD“ spouští příkaz po spuštění kontejneru.
  • „COPY“ kopíruje soubor z hostitelského systému do Docker kontejneru.
  • „EXPOSE“ definuje port, na kterém bude kontejner spouštět proces.

Spusťte příkaz pro vytvoření Docker obrazu:

Syntaxe:

docker build -t <vaše_uživatelské_jméno>/název-repo .

# docker build -t asadali08537/first-repo .

V příkazu je název obrazu a „.“ označuje aktuální pracovní adresář, kde Docker hledá Dockerfile. „-t“ se používá pro označení obrazu. Výstup by měl vypadat nějak takto:

Nyní otestujeme náš obraz spuštěním příkazu run:

docker run asadali08527/first-repo

Tento příkaz nainstaluje MySQL a zobrazí zprávu echo.

Nahrávání obrazu

Po úspěšném vytvoření a spuštění obrazu jej můžeme nahrát na Docker Hub pomocí příkazu push:

docker push asadali08527/first-repo

Značky a stav obrazu můžete zkontrolovat na Docker Hubu:

Co jsou Docker Certified Images?

Jedná se o oficiální obrazy nabízené dodavateli nebo přispěvateli. Obraz může být certifikován, pokud splňuje pravidla a standardy Docker Hubu. Obraz musí projít základními testy.

Docker Hub poskytuje nástroj inspectDockerImage, přes který mohou dodavatelé sami certifikovat obrazy a pluginy (pluginy pro logování, svazky a sítě).

Poznámka:

Pro publikování certifikovaného obrazu je třeba obrazy a pluginy nejprve sami certifikovat pomocí inspectDockerImage. Po úspěšném otestování Docker Hub certifikuje obraz po jeho odeslání. Pokud obsah není certifikovaný, nemůže být obraz publikován jako certifikovaný.

Populární obrazy na Docker Hubu

Na Docker Hubu je k dispozici mnoho upravených a optimalizovaných obrazů.

Popularita obrazů závisí na mnoha faktorech, jako je obliba, hodnocení, skóre spokojenosti atd. Pro podrobný seznam nejpopulárnějších repozitářů navštivte webovou stránku Docker Hub. Použití obrazu také závisí na OS a architektuře. Před stažením obrazu zvažte následující:

  • Hledejte konkrétní verzi pomocí tagů (nejčastěji „latest“).
  • Zvolte obrazy s největším počtem stažení a hodnocení.
  • Zkontrolujte, kdy byl obraz naposledy aktualizován.
  • Zkontrolujte, zda se jedná o ověřeného vydavatele nebo oficiální Docker Certified.

Webhooky

Webhook je webové zpětné volání, které pracuje s událostmi. Je to způsob, jak aplikace poskytuje informace v reálném čase jiné aplikaci. Webhooky jsou HTTP push API spouštěné událostmi definovanými uživatelem. Lze je použít k upozornění aplikací nebo služeb, které používají příslušné obrazy. Webhooky v Dockeru se konfigurují jako kanál událostí. Nahrání nového obrazu může spustit testy, nasazení kontejneru a logování provedených změn.

Závěr

Doufám, že nyní dobře rozumíte Docker Hubu a tomu, jak vyhledávat, vytvářet a nahrávat obrazy. Nezapomeňte, že veřejné obrazy jsou viditelné pro všechny.

Pokud jste ještě nenainstalovali Docker, podívejte se na tento průvodce instalací Dockeru.