Obsah:
- Krok 1: Prečo Docker?
- Krok 2: Docker nad hlavou
- Krok 3: Nainštalujte Docker
- Krok 4: Vytvorte obrázok Dockera
- Krok 5: Vývoj Veľkosť zostavy vs. veľkosť obrázka
- Krok 6: Obrázky Multi Arch
- Krok 7: Šťastné RPi
Video: Zostavte obrázok Dockera pre Raspberry Pi: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
Tento návod ukazuje, ako vytvoriť obraz Dockeru pre Raspberry Pi.
Krok 1: Prečo Docker?
Raspberry Pi (RPi) môžete použiť na mnoho vecí, malý webový server, asistenta AI, robotiku … atď.
Mnoho projektov, ktoré chcete vyskúšať, ale bolestivé body sú:
Čas na stavbu
RPi nemá záujem o výpočtový výkon a jednotka SD/USB obmedzuje rýchlosť IO. Použitie balíka apt install all all dependency vyžaduje hodinu a vytvorenie zdroja vyžaduje ďalšie hodiny. Najmä pri projektoch súvisiacich s AI je čas čakať viac, ako čas na vyskúšanie.
Konflikt verzie
Každý vyskúša veľa projektov v jednom RPi. Keď ste vyskúšali projekt a chceli by ste prejsť na iný, môže sa stať, že zlyhanie zostavy spôsobené konfliktom verzií knižníc závislostí bude s predchádzajúcim projektom. Niektoré knižnice sa prestali vyvíjať pred niekoľkými rokmi a závisia od niektorých veľmi starých knižníc. Na rozdiel od toho aktívny projekt závisel od najnovších knižníc. Nemôžu oba projekty existovať súčasne na tej istej jednotke SD/USB ?.
Zálohovanie obrazu
Pretože niektoré projekty nemôžu existovať súčasne, jednoducho si kúpte viac diskov SD/USB, aby bol každý obrázok projektu závislý. Ak peniaze nie sú obmedzené? Zvyšuje to však ťažkosti so správou súborov/obrázkov, niekedy potrebujete vymeniť SD/USB a mnohokrát zaviesť systém, aby ste zistili, čo chcete.
Ťažko zdieľať
Keď ste zostavili svoj projekt a chceli by ste zdieľať zdroj s priateľmi, vašim priateľom sa môže stať, že sa im nepodarí spätnú väzbu o zostavení. Verzia distribúcie/knižníc je príliš stará alebo príliš nová, vytvára parametre a niektoré triky. Potrebujete využiť čas na vyriešenie problémov ostatných pri stavbe, ale nepodporovať samotný projekt.
Vyššie uvedené body bolesti sú mojimi skúsenosťami za posledných niekoľko rokov. Docker môže vo väčšine z toho pomôcť.
Docker začne stavať výberom vopred pripraveného nadradeného obrázku. Napr. debian: tenký štart zo starej stabilnej distribúcie nízkej hmotnosti Debianu; node: 10-buster-slim start z ľahkej distribúcie Debianu s nainštalovaným Node.js 10. Vopred vytvorený obrázok môže ušetriť veľa času na prezeranie obrazu, aktualizáciu a inštaláciu závislých knižníc. Každý projekt môže začať z inej verzie operačného systému, verzie runtime a verzie knižníc. Keď skončíte s vývojom vlastného projektu, môžete obrázok Dockera odoslať do centra docker a zdieľať s každým. Všetky údaje o projekte môžete ponechať na rovnakom SD/USB (údaje by sa mali rutinne zálohovať na iné médiá). Aby ste ušetrili miestny ukladací priestor, môžete dokonca vyčistiť obraz Dockeru, keď ho nepoužívate, kedykoľvek môžete z centra Dockera znova vytiahnuť.
Krok 2: Docker nad hlavou
Docker pridal jednu virtualizačnú vrstvu, réžia je problémom. O réžii Dockera som príliš netestoval. Väčšina výsledkov Googlu tvrdí, že sú veľmi nízke réžie, a našiel som tento dokument o niektorých súvisiacich výskumoch:
domino.research.ibm.com/library/cyberdig.n…
Krok 3: Nainštalujte Docker
Jednoducho spustite:
curl -sSL https://get.docker.com | sh
Odkaz:
www.raspberrypi.org/blog/docker-come-to-…
docs.docker.com/get-started/
Krok 4: Vytvorte obrázok Dockera
Pozrite si oficiálneho sprievodcu k obrázku dokovacej stanice pre budovy:
docs.docker.com/get-started/part2/
Mám 2 projekty používajúce Docker, ako referenciu môžete nájsť súbor Docker:
BanateCAD vyžaduje runtime Lua a niektoré ďalšie knižnice Lua. Iba Lua 5.1 môže byť kompatibilný so všetkými požadovanými knižnicami Lua, ale je to produkt roku 2006. Najnovšia distribúcia Debianu, ktorá môže dosiahnuť úspech Lua 5.1, je Jessie (Verzia pred súčasnou starou stabilnou Debianom). Preto som na jeho spustenie postavil docker Image prostredia Lua 5.1
github.com/moononournation/BanateCAD/tree/…
OpenCV je aktívne sa rozvíjajúci projekt, zdrojový kód závisí od najnovších knižníc a prekladača. Je teda veľká pravdepodobnosť, že sa nepodarí vytvoriť, podpis metódy knižnice, verzia kompilátora, konflikt závislosti … Chcel by som použiť opencv4nodejs na vytvorenie jednoduchej aplikácie a nevyžaduje najnovšie funkcie. Takže keď som našiel spôsob, ako vybudovať úspech opencv4nodejs, rád by som ho zmrazil na obrázok Docker a urobil moje skutočné kódovanie aplikácie
github.com/moononournation/face-aware-phot…
Krok 5: Vývoj Veľkosť zostavy vs. veľkosť obrázka
Môžete vidieť, že môj projekt face-aware-photo-osd má 2 verzie súboru Dockfile:
github.com/moononournation/face-aware-phot…
Pri vývoji sa mi páči rozdeliť príkaz RUN na čo najmenší a s najväčšou pravdepodobnosťou zmeniť príkaz RUN na posledný krok. Takže pre každú zostavu na vývojovú zmenu môžem maximálne využiť predchádzajúcu vybudovanú vrstvu a ušetriť veľa rýchlosti zostavovania.
Naproti tomu pred vydaním skombinujem všetky RUN príkazy do jedného. menšia vrstva môže výrazne znížiť veľkosť obrázku Dockera. Môj projekt face-aware-photo-osd môže napríklad znížiť veľkosť viac ako 100 MB.
Krok 6: Obrázky Multi Arch
Ako už bolo spomenuté, RPi nie je nadšený procesorovým výkonom. Použiť obrázok Docker na zostavenie RPi nemusí byť dobrou voľbou, najmä ak na vašom jedinom RPi prebiehajú ďalšie projekty.
Pri vytváraní obrázku Dockera vám môže pomôcť aj počítač x86. Podrobnejšie informácie nájdete tu:
www.docker.com/blog/multi-arch-images/
jednoduché 2 príkazy môžu vytvárať x86 a ARM Docker Image paralelne:
docker buildx create --use
docker buildx build --platform linux/amd64, linux/arm -t moononournation/debian-imagemagick-lua-meshlab: 1.0.1 --push.
Multi Arch môže vytvárať multiplatformový obraz s rovnakou značkou obrázku Dockera, takže váš projekt môže bežať na inom počítači bez problémov. napr.
docker run -it moononournation/debian-imagemagick-lua-meshlab: 1.0.1
Bez ohľadu na to, že vyššie uvedený príkaz spustíte na počítači RPi alebo x86, môžete získať runtime prostredie Lua.
Krok 7: Šťastné RPi
Teraz môžete svoj projekt RPi jednoduchšie vyvíjať a zdieľať!
Odporúča:
Ako vytvorte pre svoj Chromebook úžasný profilový obrázok: 9 krokov
Ako vytvorte pre svoj Chromebook úžasný profilový obrázok: Dobrý deň, všetci! Toto je Gamer Bro Cinema a dnes vás naučíme, ako vytvoriť úžasný profilový obrázok YouTube pre svoj kanál YouTube! Tento druh profilového obrázku je možné vykonať iba na Chromebooku. Začnime
Zostavte infračervený prijímač Kodi / OSMC a resetovací klobúk pre Raspberry Pi: 5 krokov (s obrázkami)
Zostavte infračervený prijímač Kodi / OSMC a resetovací klobúk pre Raspberry Pi: Zostavte infračervený prijímač Kodi / OSMC a resetovací klobúk pre Raspberry Pi 3 V celej miestnosti by som chcel: Ovládať Kodi / OSMC bežiaci na Raspberry Pi pomocou diaľkového ovládača Zistite, či je Raspberry Pi zapnutý. Tiež by som chcel, aby moja rodina
Zostavte si vlastný displej v štúdiu LCD (pre klávesnicu a displeje LCD G15) .: 7 krokov
Vybudujte si vlastný displej v štúdiu LCD (pre klávesnicu a displeje LCD G15) .: Ok, ak ste práve dostali svoju klávesnicu G15 a základné displeje, ktoré s ním boli dodané, vás veľmi nezaujímajú, prevediem vás základmi používania programu LCD Studio. vytvoriť si vlastný. V tomto prípade ide o výrobu displeja, ktorý zobrazuje iba základné
Vložte obrázok pre svoj účet: 4 kroky
Vložte obrázok pre svoj účet: Ukážem niektorým z vás ľudí, ktorí potrebujú pomoc s pridaním obrázku ako avatara alebo pre váš pokyn. Tu je niekoľko podrobných pokynov, ako to urobiť. Neváhajte a pridajte akékoľvek komentáre a tipy pre tento návod. Nižšie
Vytvorte vzor Tilable pre obrázok na pozadí webovej stránky: 8 krokov
Vytvorte vzorkovateľné vzory pre obrázok na pozadí webových stránok: Toto je priama a jednoduchá (myslím) metóda na vytváranie obrázkov, ktoré je možné ukladať na dlaždice bez toho, aby vyzerali príliš „mriežkovo“. Tento tutoriál využíva Inkscape (www.inkscape.org), open-source editor vektorovej grafiky. Myslím si, že táto metóda môže