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

Jak spravovat pluginy Docker Engine

Docker Engine podporuje systém zásuvných modulů, který vám umožňuje přidat další funkce do běhového prostředí kontejneru. Zásuvné moduly pro nové ovladače úložiště, síťové zásobníky a systémy protokolování jsou volně dostupné.

Moderní verze Docker Engine obsahují vše, co potřebujete ke správě zásuvných modulů v rámci CLI. V této příručce se soustředíme na tento „spravovaný“ systém zásuvných modulů. Pluginy, které používají starší systém pluginů, musíte nainstalovat a udržovat ručně.

Vše o pluginech

Pluginy rozšiřují Docker Engine o nové možnosti, které jsou příliš specifické na to, aby mohly být dodány s obecnou instalací. S pluginy běžně nekomunikujete přímo. Jakmile je plugin nainstalován, můžete odkazovat na zdroje, které poskytuje při spouštění existujících příkazů Docker.

Existují tři hlavní typy pluginů:

  • Protokolování – Tyto pluginy přidávají nové ovladače protokolování a umožňují vám ukládat protokoly mimo Docker Engine a váš hostitelský počítač.
  • Síť – Síťové pluginy mohou přidat podporu pro nové typy sítí a související funkce.
  • Hlasitost – Zásuvné moduly úložiště přinášejí do Dockeru další souborové systémy a ovladače svazků, což vám dává více možností pro trvalá data.

K dispozici jsou také pluginy s funkcemi, které nespadají do těchto základních oblastí. Pluginy jsou vytvořeny komunitními dodavateli; můžete si napsat svůj vlastní pomocí veřejných pluginů API a Go SDK.

Pluginy jsou distribuovány prostřednictvím Docker Hub. Dostupné pluginy najdete tak, že přejdete na stránku Prozkoumat a v horní části vyberete kartu Pluginy. V současné době je k dispozici více než 600 pluginů.

Pokud napíšete svůj vlastní plugin, můžete jej odeslat do Docker Hub pomocí docker plugin push příkaz. Funguje to podobně jako vložení obrázku do veřejného registru. Musíte spustit docker plugin create nejprve převeďte manifest a souborový systém vašeho pluginu na balíček, který je připraven k odeslání. Další informace o vytváření zásuvných modulů můžete získat v dokumentech Docker.

Instalace pluginu

Zásuvné moduly se instalují pomocí docker plugin install příkaz. Tím se jako argument přijímá název pluginu Docker Hub:

docker plugin install store/example/example-plugin:version

Odkazy na plugin vypadají jako odkazy na obrázky, které začínají store/ . Stejné zásady označování platí i při specifikování verze pluginu, který se má nainstalovat. Na rozdíl od obrázků nemůžete verzi vynechat a automaticky stáhnout latest tag.

Číslo verze pluginu a zkopírujte instalační příkaz připravený ke spuštění kliknutím na tlačítko „Pokyny k instalaci“ na stránce Docker Hub. Bezplatné pluginy vám umožní přejít na novou obrazovku s běžným polem pro kopírování a vkládání vpravo nahoře. Spusťte příkaz v terminálu a začněte instalovat plugin.

Pluginy obvykle požadují přístup k hostitelským oprávněním, aby mohly poskytovat své funkce. Například síťový plugin bude muset mít přístup k host Dockeru síť, takže může připojit nové zdroje. Potvrďte výzvu k povolení zadáním y a stiskněte enter pro dokončení instalace. Výzvu můžete přeskočit přidáním --grant-all-permissions příznak k vaší install příkaz; toto je ideální pro neinteraktivní instalace, ale riskuje neúmyslné udělení oprávnění, pokud se plugin aktualizuje o nové funkce.

Pluginy jsou po instalaci automaticky povoleny. Povolení pluginu umožňuje spouštění skriptů před instalací. Použijte --disable flag pro výchozí stav pluginu na zakázaný a ponechá jej inertní, dokud jej později ručně neaktivujete.

Zobrazení podrobností o pluginu

Po instalaci se váš plugin zobrazí při spuštění docker plugin ls :

docker plugin ls

Podrobnější informace o jednom pluginu lze získat z docker inspect příkaz. To přijme ID nebo značku pluginu a zobrazí podrobný JSON, který popisuje manifest pluginu:

docker inspect eccffc

Instalace offline

Docker CLI nemá vestavěný způsob instalace pluginů v režimu offline. Nicméně můžete přidat zásuvné moduly do instalace Dockeru se vzduchovou mezerou tak, že je nejprve nainstalujete na síťového klienta a poté zkopírujete soubory zásuvných modulů do offline systému.

Nainstalované pluginy najdete v /var/lib/docker/plugins adresář na vašem hostiteli. Každý plugin dostane svůj vlastní podadresář pojmenovaný svým ID. Tato ID jsou viditelná ve výstupu z docker plugin ls příkaz.

Povolení a zakázání pluginů

Pluginy lze povolit nebo zakázat. Aktuální stav uvidíte v posledním sloupci ls výstup. Deaktivovaný plugin se nenačte, takže se bude chovat, jako by nebyl nainstalován.

Použijte docker plugin enable a docker plugin disable příkazy ke změně stavu pluginu. Jako jediný argument příkazu zadejte ID jednoho z vašich nainstalovaných pluginů:

docker plugin enable eccffc

V deaktivaci pluginu vám může být zabráněno, pokud jej aktivně používá vaše konfigurace Docker Engine nebo jeden z vašich kontejnerů. Přidání -f flag vynutí deaktivaci pluginu, ale měl by být používán střídmě, protože riskujete nechtěné opuštění kontejneru.

Pluginy se odinstalují pomocí docker plugin rm příkaz. Chcete-li plugin zcela odstranit z Dockeru, zadejte jeho ID nebo název. rm má stejné chování jako disable při manipulaci s aktivně používanými pluginy a následně vynucených odstranění.

Změna nastavení pluginu

Systém zásuvných modulů Docker obsahuje integrovaný mechanismus, pomocí kterého mohou autoři zásuvných modulů odhalit přizpůsobitelná nastavení. Jako uživatel můžete tato nastavení změnit pomocí docker plugin set příkaz:

docker plugin set example-plugin setting-key=new-value

Nahraďte example-plugin s ID nebo názvem pluginu, na který cílíte. Hodnota setting-key pluginu nastavení bude aktualizováno na new-value .

Dostupná nastavení se přirozeně liší plugin od pluginu. Měly by být zdokumentovány v popisu pluginu na Docker Hub. Docker CLI nemá vestavěný příkaz k zobrazení všech dostupných nastavení pluginu, ale zobrazují se v docker plugin inspect výstup. Hledejte Settings pole v reprezentaci JSON pluginu; bude obsahovat objekty s Name a Settable pole pro možnosti, které můžete změnit prostřednictvím CLI.

Aktualizace vašich pluginů

Pluginy jsou aktualizovány docker plugin update příkaz. Stejně jako ostatní příkazy bere jako argument ID pluginu nebo značku.

Upgrade pluginu stáhne a nainstaluje nejnovější verzi dostupnou na Docker Hub. Pokud již používáte nejnovější verzi, příkaz přeinstaluje aktuální verzi. Budete vyzváni, abyste pluginu udělili všechna nová oprávnění, která vyžaduje. --grant-all-permissions příznak je přijat pro přeskočení výzvy v prostředích, kde není možné interaktivní zadávání.

Neexistuje způsob, jak aktualizovat všechny pluginy ve vašem systému jedním příkazem. Nejlepší bude, když se přihlásíte k odběru oznámení o vydání od dodavatelů vašich pluginů a poté použijete aktualizace, jakmile budou k dispozici. Tím zajistíte, že vaše pluginy zůstanou zabezpečené a podporované.

Přehled

Ekosystém pluginů Dockeru vám umožňuje přidat další funkce do Docker Engine. Pluginy jsou umístěny na Docker Hub a lze je nainstalovat z vašeho terminálu. CLI obsahuje aktualizátor zásuvných modulů, ale funguje vždy pouze s jedním zásuvným modulem, nikoli s celým vaším katalogem.

Nyní víte, jak používat a spravovat pluginy, můžete začít procházet Docker Hub a najít možnosti, jak zlepšit svůj pracovní postup. Elastic Logging Plugin streamuje protokoly kontejnerů Dockeru do clusteru Elastic stack, vSphere for Docker vám umožňuje používat úložiště VMWare vSphere pro vaše trvalé svazky a Weave Net přináší do Dockeru multicastové šifrované sítě. Pokud nevidíte, co potřebujete, použijte plugin API a zkuste napsat své vlastní řešení, které můžete publikovat širší komunitě prostřednictvím centra.


Docker
  1. Jak nainstalovat Docker engine na Debian 9 Stretch Linux

  2. Jak nainstalovat Docker Engine na Ubuntu:Průvodce krok za krokem

  3. Jak odebrat/odinstalovat plugin Openh264 ve Firefoxu 33?

  1. Jak nainstalovat Docker Engine na Debian 11

  2. Jak hodnotit zabezpečení Docker Engine

  3. Jak nakonfigurovat Btrfs jako Storage Engine v Dockeru

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

  2. Jak nainstalovat Docker na Raspberry Pi

  3. Jak spravovat pluginy WordPress v Plesku