Registr kontejnerů společnosti DigitalOcean vám poskytuje soukromý prostor v cloudu pro ukládání a distribuci vašich obrázků Docker. Kromě nabídky úložiště obrázků se služba také integruje do dalších služeb společnosti DigitalOcean. Uložené obrázky můžete nasadit na platformu App Platform a používat je se svými spravovanými clustery Kubernetes.
Výhody a funkce
Container Registry je konkurent Docker Hub, který vám umožňuje uchovávat obrázky Dockeru ve vašem účtu DigitalOcean. Je to ideální, když budete k těmto obrázkům přistupovat s dalšími funkcemi DigitalOcean. Pro soukromé obrázky vaší aplikace si nemusíte zřizovat samostatný placený účet Docker Hub.
Data uložená v registru kontejnerů jsou automaticky vyvážena zatížením napříč více oblastmi datových center DigitalOcean. To urychluje načítání obrázků, když spouštíte kontejnery a přitahujete je do vašeho stroje. Na rozdíl od jiných funkcí DigitalOcean nemůžete ručně vybrat datové centrum registru kontejnerů.
Implementace registru DigitalOcean je kompatibilní s OCI, takže s ní můžete pracovat pomocí známých nástrojů ekosystému. Příkazy jako docker push
a docker pull
bude „prostě fungovat“, jakmile do CLI přidáte přihlašovací údaje registru. Podobně nebudou mít orchestrátoři, jako je Kubernetes, žádné potíže s odkazováním na obrázky ve vašem registru.
Vytvoření registru
Container Registry je k dispozici zdarma, ale bezplatný plán přichází s některými závažnými omezeními. Získáte jedno úložiště obrázků (název obrázku nejvyšší úrovně), 500 MB úložiště a 500 MB omezení odchozího přenosu dat – dostatečné pro vyhodnocení služby, ale pravděpodobně nevhodné pro dlouhodobé používání. Základní plán 5 $ / měsíc vám poskytuje pět úložišť a 5 GB, zatímco verze 20 $ / Professional přichází s neomezeným úložištěm a 100 GB úložiště. Přebytky úložiště jsou účtovány za 0,02 $/GB.
Registr vytvořte přihlášením do ovládacího panelu DigitalOcean a kliknutím na odkaz „Registr kontejneru“ v levém postranním panelu. Pojmenujte svůj nový registr a vyberte plán úložiště. Název musí být globálně jedinečný v každém registru DigitalOcean, takže vaše první volba nemusí být k dispozici. Musí obsahovat až 63 znaků včetně písmen, číslic a pomlček.
Vytvoření nového registru může trvat několik sekund. Po dokončení procesu budete přesměrováni na obrazovku řídicího panelu vašeho registru.
Připojování rozhraní CLI Docker
Dalším krokem je připojení vašeho Docker CLI k registru. Dockeru musíte dodat přihlašovací údaje k registru, aby mohl odesílat a stahovat obrázky pomocí vašeho účtu. Existují tři různé způsoby, jak toho dosáhnout.
Použití Doctl
Oficiální nástroj příkazového řádku společnosti DigitalOcean, Doctl, obsahuje praktický skript, který nakonfiguruje vašeho klienta Docker pro práci s vaším registrem kontejnerů.
Chcete-li použít tuto metodu, musíte mít nainstalovaný Doctl a ověřený pro svůj účet DigitalOcean. Spusťte následující příkaz pro nastavení integrace:
doctl registry login
Použití tokenu DigitalOcean API
Tokeny DigitalOcean API lze použít k ověření v registrech kontejnerů. Vygenerujte token kliknutím na odkaz „API“ v dolní části levého postranního panelu ve vašem účtu DigitalOcean. Klikněte na „Generate New Token“, pojmenujte jej a v následujícím vyskakovacím okně stiskněte „Generate Token“.
Zobrazí se hodnota tokenu. Poznamenejte si to, protože to později nebudete moci získat. Nyní se vraťte do CLI a použijte docker login
příkaz pro připojení k vašemu registru:
docker login registry.digitalocean.com
Budete vyzváni k zadání uživatelského jména a hesla. Použijte hodnotu vygenerovaného tokenu API pro obě pole. Docker nyní bude moci komunikovat s registry DigitalOcean, které patří k vašemu účtu.
Stažení souboru pověření Docker
Pokud nechcete generovat klíč API nebo používat Doctl, přejděte na stránku řídicího panelu registru kontejnerů a klikněte na modré tlačítko „Akce“ vpravo nahoře. Z nabídky vyberte „Download Docker Credentials“.
Tento soubor je config.json
kompatibilní s Dockerem který zahrnuje přihlašovací údaje pro váš registr. Můžete jej sloučit se svým hlavním ~/.docker/config.json
nebo použijte --config
příznak pomocí docker
příkazy:
docker --config ~/downloaded-config.json pull registry.digitalocean.com/<your-registry-name>/example-image:latest
Použití Dockeru k vkládání a stahování obrázků
Když je Docker správně nakonfigurován, můžete nyní používat CLI k odesílání a stahování obrázků pomocí registru kontejnerů. Obrázky musí být označeny v následujícím formátu:
registry.digitalocean.com/<your-registry-name>/example-image:latest
Zde je jednoduchý příklad vložení kopie existujícího obrazu do vašeho registru:
docker pull httpd:latest docker tag httpd:latest registry.digitalocean.com/<your-registry-name>/httpd:latest docker push registry.digitalocean.com/<your-registry-name>/httpd:latest
Přejděte na řídicí panel vašeho registru v ovládacím panelu DigitalOcean. Váš nově vložený obrázek by se měl objevit ve vašem registru. Kliknutím na obrázek zobrazíte dostupné značky. Smažte konkrétní štítek nebo všechny dostupné štítky pro obrázek kliknutím na ikonu tří teček zcela vpravo a výběrem z nabídky.
Odvoz odpadu
Odstranění obrazů z registru může zanechat nadbytečné vrstvy, které již žádné zbývající manifesty nepoužívají. Tyto vrstvy se budou stále započítávat do vašich nákladů na úložiště.
DigitalOcean poskytuje zařízení pro shromažďování odpadu k odstranění osiřelých vrstev a manifestů. Když sběr odpadu může uvolnit úložný prostor, na obrazovce řídicího panelu registru uvidíte dlaždici. Kliknutím na „Vyprázdnit odpadky“ zahájíte proces.
Zobrazí se vyskakovací dialogové okno, které vám umožní vybrat, zda chcete v rámci čištění odstranit neoznačené manifesty. Toto jsou platné obrázky, které nemají přiřazenou žádnou značku, takže na ně lze odkazovat pouze pomocí jejich úplného ID, například registry.digitalocean.com/<your-registry-name>/example-image:a1bc23
. Smazání těchto manifestů je obvykle žádoucí, pokud je neuchováváte záměrně.
Garbage Collection uvede váš registr do stavu pouze pro čtení, dokud nebudou odstraněny všechny nepoužívané vrstvy. Nové podněty budou po dobu čištění odmítnuty. Shromažďování nezačne, dokud nebudou dokončeny existující zápisy, takže po zahájení procesu může dojít k mírnému zpoždění. Průběh se zobrazuje na stránce řídicího panelu vašeho registru v ovládacím panelu.
DigitalOcean nenabízí automatický sběr odpadu. Je však možné spustit proces pomocí Doctl a DigitalOcean API, takže můžete napsat svůj vlastní skript a naplánovat jej pomocí cron
.
Závěr
Registr kontejnerů společnosti DigitalOcean vám poskytuje pohodlný způsob ukládání obrázků Docker. Do registru se ověřujete pomocí existujícího tokenu rozhraní DigitalOcean API. Měli byste mít na paměti, že tokeny API poskytují úplný přístup k vašemu účtu – nejsou omezeny na přístup k registru.
Zda byste měli použít Container Registry ve prospěch Docker Hub, záleží na tom, co budete s obrázky dělat. Pokud je budete nasazovat do DigitalOcean, dává smysl umístit vaše obrázky vedle vaší infrastruktury a maximalizovat výkon. Docker Hub má však výhody i v jiných oblastech, jako je automatické přestavování obrazu a skenování zranitelnosti, které může rychle označovat bezpečnostní problémy. Služba DigitalOcean nemá ani jedno z toho, místo toho se zaměřuje na čisté a jednoduché ukládání obrázků.