IOTstack – aktualizace jednotlivých programů

Jednou za čas je vhodné zkontrolovat, zdali náhodou nejsou k dispozici nové verze programů, které provozujete na IOTstack. A dnes si vysvětlíme základní rozdíly a ukážeme postup aktualizace.

Pro úspěšné provedení aktualizace je nutné pochopit, o jaký typ tzv. image programu se jedná. Nezanedbatelnou výhodou je, že oba dva níže popsané způsoby nevyžadují vypínat jakýkoliv běžící kontejner předem nebo shazovat celý IOTstack.


Rozlišujeme základní dva typy:

  1. programy stahované přímo jako image z Docker hubu

  2. programy, jejichž image se vytváří na základě tzv. Dockerfile lokálně (tzv. vybuildované)

Ptáte se, jak poznáte jedničku od dvojky? Jednoduše pohledem do docker-compose.yml. V prvním případě uvidíte u daného programu parametr image:, což značí právě hotový image na Docker Hubu. V druhém případě místo něj uvidíte parametr build: a cestu k Dockerfile, dle kterého se následně image lokálně sestavuje. V IOTstack parametr buildNode-RED.

Na základě výše uvedeného rozdílu je také potřeba zvolit rozdílný způsob aktualizace.


Pro aktualizaci programů popsaných v bodě 1 – image

Parametrem pull si docker-compose sám zjistí, zdali se na Docker hubu nachází novější verze image a případně ji stáhne. Vše se děje automaticky. Parametry up -d provedou sestavení kontejneru a jeho spuštění. Poslední příkaz vyčistí nepoužívané kontejnery, nepoužívané sítě a staré image.

cd ~/IOTstack
docker-compose pull
docker-compose up -d
docker system prune

Pro aktualizaci programů popsaných v bodě 2 – build

V tomto případě je dobré vědět, zdali vůbec existuje novější verze, protože její buildování je prováděno vždy (narozdíl od způsobu výše, který automaticky zohledňuje, zdali je přítomna novější verze či nikoliv). Nicméně pokud provedete příkaz s build, tak nic neztratíte, pouze se vytvoří nový image.

cd ~/IOTstack
docker-compose build --no-cache --pull nodered
docker-compose up -d nodered
docker system prune 

Jak vidíte, není to žádná věda. Samozřejmě, pokud používáte aliasy, tak si stačí pamatovat pouze příkazy jako PULL, UP či REBUILD nodered. UP lze použít i v kombinaci s individuálním kontejnerem (například UP homebridge).


Opětovně chci zde pod čarou poděkovat Paraphraserovi, který je pro mne opravdu nekonečnou studnicí informací, podpory, návodů a postřehů, na základě kterých píši i tyto články a návody.

Jedna myšlenka na „$ s“
Zanechat komentář