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

Jak spravovat kontejnery Docker? Osvědčené postupy

Docker způsobil revoluci ve vývoji softwaru s využitím kontejnerů a je dnes přední kontejnerovou platformou.

Kontejnery odstraňují mnoho únavných procesů z vývoje softwaru. Maximalizujte potenciál Dockeru implementací osvědčených postupů ke zlepšení zabezpečení, rychlosti a efektivity.

V tomto tutoriálu se zabýváme doporučenými postupy správy kontejnerů Docker.

Co je Docker?

Docker je nástroj s otevřeným zdrojovým kódem, který eliminuje opakující se úkoly při vývoji softwaru.

Umožňuje vývojáři vytvořit kontejner, řízené prostředí pro spouštění procesu.

Kontejner používá obrázek, repliku konkrétního operačního prostředí. Ačkoli to zní jako virtualizace serverů, kontejnery Docker jsou zjednodušeny tak, aby spouštěly příkazy s minimálními prostředky načítáním pouze knihoven a závislostí, které jsou vyžadovány.

Osvědčené postupy pro správu kontejnerů Docker

Správa efektivity kontejneru Docker se správným plánováním

Při mapování vašeho softwarového procesu je nejlepší naplánovat kontejnerový systém, abyste zajistili, že úkoly splníte s co nejmenším množstvím práce a zdrojů.

Před vytvořením a spuštěním těchto virtuálních prostředí zvažte, jak můžete namapovat každý proces na kontejner a jak tyto kontejnery interagují.

A co víc, měli byste prozkoumat, zda jsou pro vás kontejnery tím nejlepším nástrojem. Přestože má Docker mnoho výhod, některé aplikace běží lépe na virtuálních počítačích.

Podívejte se na rozdíl mezi kontejnery a virtuálními počítači a rozhodněte se, který z nich nejlépe vyhovuje vašim potřebám.

Využití rychlosti kontejnerů

Na rozdíl od virtuálního stroje nepotřebuje kontejner ke svému běhu rozsáhlou knihovnu prostředků. Kontejner se může načíst, spustit a uvolnit z paměti ve zlomku sekundy.

Chcete-li dosáhnout nejlepšího výkonu, chcete, aby byly obrázky Dockeru malé a váš Docker se rychle sestavoval. Existuje mnoho způsobů, jak zmenšit velikost obrázku, například rozhodnout se pro menší základ obrázku, využít vícefázové sestavení a vyhnout se zbytečným vrstvám.

Podobně místní ukládání existujících vrstev Dockeru do mezipaměti vám umožní rychleji znovu sestavit obrázky, což nakonec využije rychlost vašich kontejnerů.

Spusťte jeden proces v každém kontejneru

Počet kontejnerů, které můžete spustit a odstranit, není omezen. Každý může ve svém prostředí spouštět několik procesů.

Mějte na paměti, že čím více operací kontejner provádí, tím je pomalejší. To platí zejména v případě, že omezíte využití CPU a paměti kontejneru. Počet zdrojů potřebných k načtení má silný dopad na výkon. Může být snadné přetížit paměť spuštěním více úloh najednou. Použití jednoho procesu na kontejner pomáhá omezit tyto sdílené zdroje a snížit celkovou stopu kontejneru.

Vyčlenění jediného procesu pro každý kontejner pomáhá udržovat čisté a štíhlé provozní prostředí.

Používejte služby SWARM

Pokud spravujete více kontejnerů na více hostitelských počítačích, zvažte použití služeb Docker Swarm, nástroje pro orchestraci kontejnerů. Docker Swarm automatizuje mnoho úkolů plánování a správy zdrojů a pomáhá rychle škálovat, pokud jde o rychlý růst.

Oblíbenou alternativou ke Swarmu je Kubernetes, alternativní platforma pro automatizaci nasazení aplikací. Výběr mezi Docker Swarm a Kubernetes závisí hlavně na potřebách vaší organizace.

Vyhněte se používání kontejnerů pro ukládání dat

Ukládání dat zvyšuje vstup/výstup (čtení/zápis disku) kontejneru.

Lepším nástrojem pro ukládání dat je sdílené softwarové úložiště.

Přístup ke vzdálenému úložišti je povolen kontejnerům na vyžádání, čímž se zmenšuje velikost kontejneru. Pomáhá také zabránit různým kontejnerům v načítání a ukládání redundantních dat. Konečně může zabránit úzkým místům, protože k úložišti přistupuje více procesů.

Najděte a ponechejte funkční obrázek Dockeru

Obrázek obsahuje všechny konfigurace, závislosti a kód potřebné pro úlohu.

Může být náročné vytvořit image pro celý životní cyklus aplikace. Jakmile však obrázek vytvoříte, vyhněte se jeho změně. Může být lákavé aktualizovat obraz Dockeru, protože se aktualizují závislosti. Ale úprava obrazu uprostřed cyklu může způsobit zmatek v procesu vývoje. To platí zejména v případě, že různé týmy používají obrázky s nekompatibilními závislostmi.

Použití jednoho obrázku od začátku do konce usnadňuje odstraňování problémů.

Všechny týmy budou pracovat se stejným základním prostředím a stráví méně času spojováním různých částí kódu. Jednu aktualizaci lze také dokončit a otestovat ve více kontejnerech. Snižuje duplicitní práci jednotlivých aktualizací a oprav kódu. Pomáhá také týmům zajišťujícím kvalitu rychleji najít a opravit problémy.

Vytváření sítí v kontejnerech

Kontejnerům v Dockeru jsou přiřazeny IP adresy, aby spolu mohly komunikovat. To může způsobit problémy v síťovém prostředí.

V minulosti ––LINK pro správu adresování a komunikace. Tato funkce je považována za starší a byla nahrazena sítí mostu.

Uživatelsky definované přemostění mezi kontejnery umožňuje přístup ke všem portům v rámci mostové sítě. Blokuje také všechny porty do vnějšího světa. To vytváří bezpečné prostředí pro kontejnery. Vnitřní provoz plyne bez přerušení a je chráněn před vnějšími vlivy.

Další informace o uživatelsky definovaných mostech (a další technologii) naleznete v dokumentaci Docker.

Docker Security Best Practices

Tým Docker modernizoval mnoho moderních internetových bezpečnostních protokolů. Původní síťoví vývojáři nezabudovali zabezpečení do síťových protokolů.

Dovybavení zabezpečení je vždy obtížné a nákladné. Mnohem lepší praxí je implementovat zabezpečení během vývoje.

Zde je několik možností ke zvážení správy zabezpečení kontejnerů Docker .

1. Vyhněte se spuštění kontejnerů s kořenovými oprávněními

Většina administrátorů Linuxu je obeznámena s riziky udělení úplných práv root uživatelům. Podobná varování platí pro kontejnery. Lepším postupem je vytvářet kontejnery pouze s oprávněními, která potřebují.

Použijte –u tag pro určení uživatele (místo správce).

2. Zabezpečené přihlašovací údaje

Uchovávejte přihlašovací údaje na jiném místě, než kde je používáte. Proměnné prostředí jsou také lepším způsobem, jak spravovat přístup v rámci kontejneru.

Zahrnutí přihlašovacích údajů do stejného kontejneru je jako ponechání hesla na poznámce. V nejhorším případě se narušení v jednom kontejneru může rychle rozšířit celou aplikací.

3. Použijte –PRIVILEGED Označujte střídmě

Ve výchozím nastavení běží kontejnery v bezpečnějším neprivilegovaném režimu.

Kontejnery nebudou mít přístup k dalším zařízením. Pokud je vyžadován přístup k dalším zařízením, použijte –privileged tag pro udělení přístupu případ od případu.

4. Použijte bezpečnostní aplikace třetích stran

Vždy je dobrý nápad mít druhou skupinu očí, která zkontroluje vaši konfiguraci zabezpečení. Nástroje třetích stran využívají dovednosti bezpečnostních specialistů k analýze vašeho softwaru. Mohou také pomoci skenovat váš kód, zda neobsahuje známá zranitelnost. Navíc často obsahují uživatelsky přívětivé rozhraní pro správu zabezpečení kontejnerů.

5. Zvažte přechod na soukromé softwarové registry

Docker Hub spravuje bezplatný registr obrazů softwaru, což může být docela užitečné pro začínající vývojáře nebo malé vývojářské týmy pracující na složitých projektech.

Při používání těchto registrů však může být problémem zabezpečení. Stojí za to vyhodnotit náklady a přínosy hostování vašich softwarových registrů. Pokud chcete praktický způsob distribuce zdrojů a sdílení obrazů Docker mezi kontejnery, možná budete chtít nastavit soukromý registr Docker.


No
Docker
  1. Jak vytvářet, zobrazovat a mazat kontejnery Docker v systému Linux

  2. Monitorování kontejnerů Docker:Výhody, osvědčené postupy a nástroje, které musíte mít

  3. Jak sdílet data mezi kontejnery Docker

  1. Jak vypsat Docker kontejnery

  2. Jak zálohovat a obnovovat kontejnery Docker

  3. Jak pozastavit a obnovit kontejnery Docker

  1. Jak vypsat / spustit / zastavit kontejnery Docker

  2. 10 doporučených postupů zabezpečení Dockeru

  3. Learning Docker:Jak vytvořit kontejner Docker