Development

Mar 03. 2020

Docker na Raspberry Pi 4.... bude to fungovať?

docker raspberry pi 4

V súčasnosti je už štvrtá generácia Raspberry Pi veľmi dobre pripravená aj na náročnejšie technologické riešenia. Je to vďaka tomu, že tento „malý počítač“ dokáže dnes už zvládať aj 4K video a je možné ho konfigurovať až so 4GB RAM. Skúsili ste už aj vy niekedy použiť Raspberry Pi na vašom projekte?

Čo všetko Raspberry Pi zvládne?

Toto bola naša prvá otázka hneď po tom, ako sme čítali, že v konfigurácii bude dostupné väčšie množstvo RAM. Samozrejme, sme si vedomí toho, že Docker beží aj na slabších konfiguráciách, ale keď hovoríme o serióznych komplexných riešeniach, potom zväčša platí: „čím viac, tým lepšie“.

Počas našich pokusov dokázala backend aplikácia, skladajúca sa z viacerých mikroslužieb, bežať bez akýchkoľvek problémov a bola tiež schopná nahrávať súbory, spravovať používateľov a mnoho ďalšieho. Výkon tohto zariadenia je veľmi dôležitý, nakoľko môže priniesť množstvo nových príležitostí do sveta Internetu vecí („IoT – Internet of Things“), v ktorom sa v kombinácií s umelou inteligenciou a strojovým učením dajú vytvárať zaujímavé a prepracované riešenia.

Má to nejaké nevýhody? Áno, zopár ich je.

Prvá je ARM architektúra. Ďalšia je 32bitová distribúcia oficiálneho operačného systému – Raspbian Buster. Kombinácia týchto vecí je limitujúca kvôli nedostatku Docker obrazov. Keď sa pozrieme na https://hub.docker.com/, môžeme vidieť, že niektoré z dostupných oficiálnych obrazov ani nemôžeme použiť.

Napríklad, MongoDB neposkytuje žiadne, pretože limitujúcim faktorom v tomto prípade je práve 32bit. Považujeme to za jeden z veľkých problémov, nakoľko MongoDB používame pri projektoch veľmi často. Komunita je v tejto sfére obrovská a preto existuje aj mnoho treťostranných obrazov, no často nie sú udržiavané, sú neaktualizované a otázne v súvislosti s bezpečnosťou. Nám sa pri pokusoch nepodarilo sfunkčniť ani jeden takýto neoficiálny obraz.

Aký operačný systém použiť ?

Oficiálna distribúcia Raspbian Buster je najbezpečnejšia cesta. Dá sa stiahnuť z oficiálnej stránky tu.

Tipy pre komfortnú prácu s Raspberry Pi

Ak nechcete prvotné nastavenie komplikovať úpravou konfigurácií a písaním skriptov, budete potrebovať externé zariadenia ako napríklad myš, klávesnicu (USB/Bluetooth) a monitor s HDMI káblom. No pravdepodobne to pre vás nie je ideálne a nabudúce si rozmyslíte, či chcete takto pracovať.

Aby ste sa teda vyhli potrebe mať pri sebe tieto zariadenia, odporúčame najprv pripojiť sa k sieti a zaškrtnúť možnosť „Zapamätať si sieť pre ďalšie automatické pripojenia“. Potom povoliť SSH v menu „Pi Configuration“, aby ste sa mohli pripojiť vzdialene a pracovať aj zo svojho počítača.

Klávesnica na obrazovke však môže byť veľmi nápomocná ak ste v teréne a riešite problémy pomocou pripojeného monitora, kedy nie je možné sa pripojiť cez SSH. My sme v takomto prípade použili balíček s názvom „matchbox-keyboard“, čím v menu pribudla položka „Accessories“.

Ako na Docker

Inštalácia je veľmi jednoduchá, nakoľko jeden príkaz spraví všetko potrebné:


curl -sSL https://get.docker.com | sh

Následne pridáme oprávnenie spúšťať Docker príkazy pre aktuálneho používateľa (pravdepodobne používate pôvodného „pi“), čo môže ušetriť trochu písania a bavenia sa so sudo.


sudo usermod -aG docker pi

Reštartujte systém a pokračujte otestovaním inštalácie:


docker run hello-world

Ak všetko prebehlo v poriadku, úspešne ste nainštalovali Docker a spustili váš prvý kontajner na Raspberry Pi.

Ak viete pracovať so súbormi docker-compose, môžete si nainštalovať dodatočný nástroj a byť trochu efektívnejší:


sudo apt-get install libffi-dev libssl-dev
sudo apt-get install -y python python-pip
sudo apt-get remove python-configparser

sudo pip install docker-compose

Záver: komentár autora

Kompletné riešenie môže mať dnes veľkosť malej knihy a ja mám v hlave množstvo nápadov, ktoré by som chcel skúsiť. Využitím výhod, ktoré Raspberry Pi poskytuje po hardvérovej stránke ako napríklad GPIO, môžeme jednoducho pripojiť kamerový modul, použiť výpočtový výkon na rozpoznávanie ľudí z video výstupu či robiť zaujímavé štatistiky z dát a nahrávať ich na cloud. A to je len jedno z mnohých. Každá nová verzia tohto „malého počítača“ otvára nové príležitosti a som si istý, že ľudia časom premenia mnoho zaujímavých nápadov na pozoruhodné technologické riešenia.

david

Dávid Ondruš

Softvérový inžinier

Značky: