Strážní věž je bezplatná aplikace s otevřeným zdrojovým kódem, která vám umožňuje sledovat běžící kontejnery Dockeru a automaticky je aktualizuje, když zjistí jakékoli změny v jejich základních obrazech. Když strážná věž zjistí, že běžící kontejner potřebuje aktualizovat, ladně běžící kontejner zastaví odesláním signálu SIGTERM. Poté stáhne nový obraz a nakonec restartuje kontejner se stejnými možnostmi, které byly použity při jeho počátečním nasazení. Vše bude probíhat automaticky na pozadí, takže není nutný zásah uživatele. V této příručce uvidíme, jak automaticky aktualizovat běžící kontejnery Docker pomocí Watchtower v operačních systémech podobných Unixu.
Tuto příručku jsem testoval v minimálním vydání CentOS 7, ale postup je stejný pro všechny distribuce Linuxu.
Watchtower – Automaticky aktualizovat spuštěné kontejnery Docker
Nainstalovat Strážnou věž
Samotná Strážná věž je k dispozici jako obrázek Docker. Takže jeho nasazení není velký problém. Nainstalujte si Docker do svého linuxového boxu a okamžitě začněte spouštět Watchtower ke sledování kontejnerů Docker.
Pokyny k instalaci Dockeru na systémy založené na YUM a DEB naleznete v následujících příručkách.
- Jak nainstalovat Docker v CentOS
- Jak nainstalovat Docker v Ubuntu
Po instalaci Dockeru můžete kontejner Watchtower nasadit pomocí následujícího příkazu jako root uživatel:
# docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock v2tec/watchtower
Tento příkaz stáhne nejnovější obrázek strážní věže a spustí kontejner strážní věže.
Ukázkový výstup:
Nelze najít obrázek 'v2tec / watchtower:nejnovější' locallylatest:Vytažení z v2tec / watchtowera3ed95caeb02:Pull kompletní 802d894958a2:Pull kompletní 9916c27d2815:Pull kompletní Digest:sha256:d89ea18b6332cc83639771fda274ebfd76f7042856d8f4997e99c7925ad02ae9Status:Staženo novější obraz pro v2tec / hlásky:lateste85c923f2e4dd22a62c12b038ea9694ba9245dcd835f210e1a1f902ee311e004Doporučené stažení – Zdarma e-kniha:„Docker Containerization Cookbook“
Použití
Strážná věž nyní začala s dalšími běžícími kontejnery ve vašem systému. Seznam spuštěných kontejnerů Docker můžete zobrazit pomocí příkazu:
# docker ps
Ukázkový výstup:
ID KONTEJNERU OBRÁZKOVÝ PŘÍKAZ VYTVOŘEN STAV PORTY NAMESe85c923f2e4d v2tec/watchtower "/watchtower" před 3 minutami Up 3 minut watchtower58543e6ed18a centos:latest "/bin/bash" 5 minut Up 5 minut ostech>Jak vidíte na výše uvedeném výstupu, kontejner Strážná věž běží společně s dalším kontejnerem s názvem "ostechnix". Od této chvíle začne Strážná věž sledovat tento kontejner každých pár minut. Pokud nalezne nějaké změny v základním obrázku tohoto kontejneru, elegantně vypne kontejner „ostechnix“ a restartuje jej s novým obrázkem se stejnými možnostmi, jaké byly použity při prvním spuštění. Podobně každých pár minut automaticky zkontroluje aktualizace pro všechny běžící kontejnery a automaticky je aktualizuje.
Ve výchozím nastavení bude Watchtower monitorovat všechny kontejnery Docker běžící v rámci démona Docker, na který odkazuje. Strážnou věž však můžete omezit na sledování konkrétního kontejneru Docker zadáním názvu kontejneru, jak je uvedeno níže.
# docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock v2tec/watchtower ostechnixVe výše uvedeném příkladu bude strážní věž sledovat aktualizace pouze u kontejneru s názvem „ostechnix“ a ostatní běžící kontejnery budou ignorovány. Pokud neurčíte žádné argumenty, bude Watchtower sledovat všechny spuštěné kontejnery Docker jako obvykle.
Doporučená četba:
- Začínáme s Dockerem
- ctop – nástroj pro monitorování příkazového řádku pro linuxové kontejnery
- Dockly – Správa kontejnerů Docker z terminálu
- Portainer – nejsnazší způsob správy Dockeru
- PiCluster – jednoduchá webová aplikace pro správu dockerů
Watchtower je dostatečně chytrý, pokud jde o monitorování více propojených kontejnerů. Řekněme, že provozujete dva kontejnery s názvem „Nginx“ a kontejner „wordpress“, který je propojen s kontejnerem „Nginx“. Pokud Watchtower najde aktualizaci pro kontejner „Nginx“, nejprve vypne propojený kontejner, tj. „wordpress“, a poté zastaví kontejner Nginx. Poté restartuje oba kontejnery ve správném pořadí, aby se aplikace vrátila správně. V našem případě se nejprve spustí kontejner Nginx a poté kontejner wordpress, aby bylo zajištěno, že odkaz bude nadále fungovat. Další podrobnosti naleznete v odkazu na stránku Watchtower GitHub na konci této příručky.
A to je vše. Pokud považujete naše návody za užitečné, sdílejte je prosím na svých sociálních a profesních sítích a podpořte OSTechNix. Přijdou další dobré věci. Zůstaňte naladěni!
Na zdraví!