IOTstack – aktualizace jednotlivých programů
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:
- programy stahované přímo jako image z Docker hubu
- 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 build
má Node-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.