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

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

Vytvořili jste obrázek Dockeru, který potřebujete sdílet s kolegou? Zde je návod, jak můžete distribuovat obrázek, aniž by příjemce musel spouštět docker build sami.

Sdílení předem vytvořeného obrázku namísto Dockerfile vám umožní mít jistotu, že váš kolega používá přesně stejný software. Opětovné spuštění sestavení by mohlo vést k mírně odlišnému prostředí. Máte dvě možnosti distribuce obrázku v závislosti na situaci.

Použití registru Docker

Nejjednodušší způsob, jak sdílet obraz Dockeru, je poslat jej do registru Docker. Tato funkce je plně integrována do rozhraní CLI Dockeru. Při použití této metody nemusíte provádět žádné ruční přenosy souborů.

Výchozí registr je Docker Hub. To vám umožní veřejně sdílet obrázky a také vám poskytne jedno soukromé úložiště. Vytvořte si účet na Docker Hub a poté spusťte docker login ve vašem terminálu. Zadáním podrobností o svém účtu propojíte Docker CLI se svým účtem.

Poté vytvořte obrázek jako obvykle pomocí docker build . Přidejte značku, která začíná vaším uživatelským jménem Docker Hub:

docker build -t my-account/my-image:latest .

Poté použijte docker push příkaz k odeslání označeného obrázku do Docker Hub:

docker push my-account/my-image:latest

Nyní je váš obrázek bezpečně uložen v Docker Hub. Ostatní uživatelé jej budou moci stáhnout pomocí docker pull nebo docker run příkazy. Se sdílením obrázku jste skončili!

Pro použití v reálném světě nemusí Docker Hub stačit. Pokud jste součástí vývojového týmu, pravděpodobně budete chtít uchovávat obrázky na svém vlastním serveru, nikoli ve veřejném registru Hub. Místo toho můžete vytvořit server registru s vlastním hostitelem, abyste získali soukromé úložiště, které je plně kompatibilní s docker push a docker pull příkazy. To vám umožní snadno sdílet obrázky s kýmkoli, kdo má přístup k vašemu soukromému registru.

Export obrázků

Pokud použití registru není možné, můžete archivy obrázků Docker exportovat ručně. Tato funkce je také zabudována do rozhraní CLI Dockeru. Vytvořte svůj obrázek a poté použijte docker save příkaz k získání tar archiv jeho obsahu:

docker save my-image:latest > my-image.tar

Dokončení exportu může chvíli trvat. Docker bude obsahovat vše potřebné k opětovnému vytvoření obrázku – to jsou všechny vrstvy ve vašem Dockerfile , stejně jako vrstvy zděděné ze základního obrázku. Archiv bude také obsahovat informace o značkách spojených s obrázkem.

Jako výstup je jednoduchý tar soubor, nyní jej můžete volně distribuovat jakýmkoli způsobem, který si zvolíte. Archivy mohou být poměrně velké, takže obvykle nejlépe dosáhnete, když je nahrajete na souborový server nebo poskytovatele cloudového úložiště.

Chcete-li použít exportovaný obrázek, spusťte docker load příkaz. To přijímá tar archiv vytvořený docker save jako vstupní proud. Docker načte obsah archivu a přidá jej do vašeho seznamu místních obrázků.

docker load < my-image.tar

Nově importovaný obrázek nyní uvidíte ve svých docker images výstup. Jste připraveni spustit nový kontejner pomocí docker run .

Export a import obrázků přidává několik kroků navíc oproti použití registru Docker. Budete muset ručně přenést soubor mezi klienty. V důsledku toho je tento přístup méně vhodný pro časté používání, i když má také své výhody.

Převod obrázků na tar archiv může být užitečný pro dlouhodobé skladování. Pokud vám dochází místo na serveru registru, archivujte staré obrázky a nahrajte jejich tars zálohování úložiště souborů by mohlo být nákladově efektivním způsobem, jak získat zpět určitou kapacitu. Pokud byste to někdy v budoucnu potřebovali, stále budete moci obrázek obnovit.

A co „export dockeru“?

Docker má další příkaz související s exportem, docker export . Toto by nemělo být zaměňováno s docker save . Zatímco save pracuje s obrázky, export ve skutečnosti spravuje jednotlivé kontejnery .

docker export vytvoří tar archiv souborového systému kontejneru. To lze použít k obnovení repliky kontejneru na jiném počítači. Pokud si prohlédnete obsah archivu, uvidíte, že se jedná pouze o běžný kořenový souborový systém Linuxu s adresáři jako /bin , /etc a /usr .

docker export my-container > my-container.tar

docker export je užitečné, pokud chcete vytvořit snímek kontejneru pro pozdější obnovu. Archivy kontejnerů se však neimportují tak, jak byste na první pohled očekávali. Jelikož kontejner představuje živé běžící prostředí, nemůžete jej přímo „importovat“. Místo toho import kontejnerového archivu vytvoří nový obrázek.

docker import my-container.tar my-image:latest

V tomto příkladu Docker vezme souborový systém v my-container.tar a automaticky vytvoří nový obrázek s názvem my-image:latest . To bude mít stejný souborový systém, ale ne stejný základní obraz nebo konfiguraci Dockeru jako původní kontejner, který jste exportovali.

SOUVISEJÍCÍ: Jak začít s novým registrem kontejnerů Docker společnosti Github

Přehled

Docker usnadňuje sdílení obrazů aplikací a vývojových prostředí s vašimi spolupracovníky. Obvykle je nejlepší poslat obrázky do centralizovaného úložiště, ze kterého mohou stahovat všichni ostatní. V některých scénářích může být smysluplnější exportovat obrázek do archivu, který distribuujete ručně.

Docker také umožňuje exportovat souborový systém kontejneru pro pozdější obnovení do bitové kopie. Při používání buďte opatrní, protože se nejedná o přesnou rekonstrukci a neobsahují všechna data souborového systému. Žádné svazky připojené k původnímu kontejneru nebudou zahrnuty do archivu souborového systému, takže byste měli podniknout kroky k jejich samostatnému zálohování.


Docker
  1. Jak přesunout obrazy Dockeru mezi hostiteli

  2. Jak upravit obrázky Docker

  3. Jak automaticky vytvářet a konfigurovat vlastní obrázky dockeru pomocí Dockerfile – část 3

  1. Jak nainstalovat Jenkins pomocí Docker

  2. Jak potvrdit změny v obrazu Dockeru

  3. Jak používat místní docker obrázky s Minikube?

  1. Jak provést změny obrázku Docker s příklady

  2. Jak vytvořit Docker Image pomocí Dockerfile

  3. Jak provádět kanárské nasazení s Istio