Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47
Ez az oktatóanyag bemutatja, hogyan lehet Docker Image -t készíteni a Raspberry Pi számára.
1. lépés: Miért Docker?
Használhatja a Raspberry Pi -t (RPi) sok mindenre, apró webszerverre, AI asszisztensre, robotikára stb.
Sok projektet szeretne kipróbálni, de a fájdalmas pontok a következők:
Az építkezés ideje
Az RPi nem szereti a feldolgozási teljesítményt, és az SD/USB meghajtó korlátozta az IO sebességét. Az apt install all dependency csomag használata egy órát igényel, a forrás létrehozása pedig több órát igényel. Különösen a mesterséges intelligenciával kapcsolatos projekteknél érdemes többet várni, mint próbálkozni.
Verzióütközés
Mindenki sok projektet próbál meg egy RPi -ben. Ha kipróbált egy projektet, és szeretne átváltani egy másikra, előfordulhat, hogy valamilyen építési hibát okoz a függőségi könyvtárak verziójának ütközése az előző projekttel. Néhány könyvtár néhány éve leáll, és nagyon régi könyvtáraktól függ. Ezzel szemben az aktív projekt a legújabb könyvtáraktól függött. Mindkét projekt nem létezhet együtt ugyanabban az SD/USB meghajtóban ?.
Képmentés
Mivel egyes projektek nem létezhetnek együtt, egyszerűen vásároljon több SD/USB meghajtót, hogy minden projektkép függő legyen. Ha a pénz nem korlátozott? De növeli a fájl-/képkezelés nehézségeit, néha cserélni kell az SD -t/USB -t, és sokszor kell indítani, hogy megtudja, mit szeretne.
Nehéz megosztani
Amikor felépítette a projektet, és meg szeretné osztani a forrást barátaival, előfordulhat, hogy barátai visszajelzést kapnak az építés sikertelenségéről. A terjesztési/könyvtári verzió túl régi vagy túl új, a paraméterek építése és néhány trükk. Fel kell töltenie az időt mások építési problémáinak megoldására, de nem támogatnia magát a projektet.
A fenti fájdalompontok az én tapasztalataim ebben a néhány évben. A Docker a legtöbb esetben segíthet.
A Docker az előregyártott szülőkép kiválasztásával kezdi az építést. Például. debian: jessie-slim start egy régi stabil Debian könnyű súlyelosztásból; csomópont: 10-buster-slim start a Debian könnyű súlyelosztásból a Node.js 10 telepítésével. Az előre elkészített kép sok időt takaríthat meg a vaku villanásával, a frissítések beszerzésével és a függő könyvtárak telepítésével. Minden projekt különböző operációs rendszer verziójú, futásidejű és könyvtári verzióból indulhat ki. Ha befejezte saját projektjének kidolgozását, a Docker -képet áthelyezheti a docker hubba, és megoszthatja mindenkivel. Az összes projektadatot ugyanazon az SD/USB -n tárolhatja (az adatoknak rutinszerűen máshová kell menteniük). A helyi tárhely megtakarítása érdekében akár akkor is megtisztíthatja a Docker -képet, ha nem használja, bármikor újra előhívhatja a Docker hubból.
2. lépés: Dokkoló fölött
Docker hozzáadott egy virtualizációs réteget, a rezsicsökkentés aggodalomra ad okot. Nem teszteltem túl sokat a Docker rezsijével kapcsolatban. A legtöbb google -találat nagyon alacsony rezsiköltséget állít, és ezt a dokumentumot találtam néhány kapcsolódó kutatásról:
domino.research.ibm.com/library/cyberdig.n…
3. lépés: Telepítse a Docker alkalmazást
Egyszerűen fuss:
curl -sSL https://get.docker.com | SH
Ltsz.:
www.raspberrypi.org/blog/docker-comes-to-…
docs.docker.com/get-started/
4. lépés: Docker -kép készítése
Kérjük, keresse meg a dokkoló képének építésére vonatkozó hivatalos útmutatót:
docs.docker.com/get-started/part2/
Két projektem van a Docker használatával, a Dockerfile referenciaként megtalálható:
A BanateCAD Lua futási időt és néhány további Lua könyvtárat igényel. Csak a Lua 5.1 kompatibilis az összes szükséges Lua könyvtárral, de ez a 2006 -os év terméke. A legújabb Debian disztribúció, amely Lua 5.1 sikert hozhat létre, a Jessie (A jelenlegi Debian régi istálló előtti verzió). Ezért építettem egy Lua 5.1 környezetű Docker Image programot a futtatásához
github.com/moononournation/BanateCAD/tree/…
Az OpenCV egy aktívan fejlődő projekt, a forráskód a legújabb könyvtáraktól és fordítótól függ. Tehát nagyon nagy az esélye a sikertelen könyvtári módszer aláírásának, fordítói verziójának, függőségi konfliktusának létrehozására … Szeretném az opencv4nodejs -t használni egy egyszerű alkalmazás létrehozásához, és nem igényelnek legújabb funkciókat. Tehát amikor megtaláltam az opencv4nodejs sikerének kiépítésének módját, szeretném lefagyasztani egy Docker Image -re, és elvégezni a tényleges alkalmazáskódolást
github.com/moononournation/face-aware-phot…
5. lépés: A Speed Vs képméret fejlesztése
Lehet, hogy az arctudatos fotó-osd projektemnek két verziója van a Dockfile-ből:
github.com/moononournation/face-aware-phot…
Fejlesztés közben szeretem a split RUN parancsot a lehető legkisebbre, és elrendezem, hogy a RUN parancsot az utolsó lépésre változtassam. Tehát minden fejlesztéshez szükséges építéshez a lehető legjobban ki tudom használni a korábbi épített réteget, és sok építési sebességet spórolhatok meg.
Ezzel szemben az összes RUN parancsot egyben egyesítem a kiadás előtt. kisebb réteg jelentősen csökkentheti a Docker képméretét. Az arctudatos fotó-osd projektem példaként több mint 100 MB-ot tud csökkenteni.
6. lépés: Több archív képek
Amint azt korábban említettük, az RPi nem szereti a feldolgozási teljesítményt. Az RPi build Docker kép használata nem biztos, hogy jó választás, különösen akkor, ha az egyetlen RPi másik projektet futtat.
Használjon x86 -os számítógépet a Docker Image elkészítéséhez is, további részleteket itt talál:
www.docker.com/blog/multi-arch-images/
Egyszerű 2 parancs párhuzamosan építheti az x86 és az ARM Docker Image képeket:
docker buildx create -use
docker buildx build --platform linux/amd64, linux/arm -t moononournation/debian-imagemagick-lua-meshlab: 1.0.1 --push.
A Multi Arch többplatformos képet készíthet ugyanazzal a Docker képcímkével, így a projekt zökkenőmentesen futtatható különböző gépeken. például.
docker run -it moononournation/debian-imagemagick-lua-meshlab: 1.0.1
Függetlenül attól, hogy futtatja a fenti parancsot RPi -n vagy x86 számítógépén, Lua futási környezetet kaphat.
7. lépés: Boldog RPi -t
Mostantól könnyebben fejlesztheti és megoszthatja RPi projektjét!
Ajánlott:
Lökhárítók készítése egy robot számára: 4 lépés
Lökhárítók készítése egy robot számára: A 11. osztályos számítástechnikai tanfolyamon azt a feladatot kaptuk, hogy a robotot labirintuson vegye át. Annak érdekében, hogy ellenőrizni tudjuk, hogy egyenesen, balra vagy jobbra fordul, lökhárítókat készítettünk. Így, ha a robot hozzáér a falhoz, és a
Pt.2 Bluetooth -adapter készítése (kompatibilis hangszóró készítése): 16 lépés
Pt.2 Bluetooth -adapter készítése (kompatibilis hangszóró készítése): Ebben az oktatóanyagban megmutatom, hogyan használhatom Bluetooth -adapteremet egy régi hangszóró Bluetooth -kompatibilissé tételéhez.*Ha még nem olvasta el az első utasítást a " egy Bluetooth adapter " Javaslom, hogy ezt tegye, mielőtt folytatja. C
Egyszarvú kürt készítése MBot számára: 5 lépés
Unikornis szarv készítése MBot -hoz: Sziasztok! Néhány nappal ezelőtt készítettem egy Unicorn Horn sapkát. Úgy döntöttem, hogy ugyanezt készítem az mBot robotomhoz. Nem tudom, hogyan tehetném aranyosabbá a már aranyos mBotomat, de az Unicorn Horn nagyon jól néz ki rajta. Ha kíváncsi, mi az mBot, ez
Jelzőlámpa készítése Arduino számára: 3 lépés
Jelzőlámpa készítés Arduino számára: Ez az oktatóanyag elmagyarázza, hogyan világít a jelzőlámpa különböző színben, ami szintén eltérő infromációkra utal. Nem bonyolult, de érdekes. Az összes anyag könnyen beszerezhető a www.ICStation.com webhelyről. Tartozékok: 1.Arduino Air board x
Háromlábú adapter készítése iPhone vagy telefon számára: 7 lépés
Hogyan készítsek háromlábú adaptert iPhone -hoz vagy telefonhoz: ez az ötletem volt a telefonomhoz, mert szeretek képeket és videókat készíteni. Van egy kis műsorom a Youtube -on, és a használt fényképezőgép tönkrement, ezért szünetet kellett tartanom. Felkerestem az internetet, és kerestem egy adaptert, és kb