Orodha ya maudhui:

Jenga Picha ya Docker kwa Raspberry Pi: Hatua 7
Jenga Picha ya Docker kwa Raspberry Pi: Hatua 7

Video: Jenga Picha ya Docker kwa Raspberry Pi: Hatua 7

Video: Jenga Picha ya Docker kwa Raspberry Pi: Hatua 7
Video: Marlin Firmware - VScode PlatformIO Install - Build Basics 2024, Novemba
Anonim
Jenga Picha ya Docker kwa Raspberry Pi
Jenga Picha ya Docker kwa Raspberry Pi

Mafundisho haya yanaonyesha jinsi ya kujenga Picha ya Docker kwa Raspberry Pi.

Hatua ya 1: Kwa nini Docker?

Unaweza kutumia Raspberry Pi (RPi) kufanya vitu vingi, seva ndogo ya wavuti, msaidizi wa AI, Roboti… nk.

Miradi mingi unayotaka kujaribu, lakini vidokezo vya maumivu ni:

Wakati wa Kujenga

RPi haipendi kusindika nguvu, na gari la SD / USB limepunguza kasi ya IO. Tumia pakiti yote ya utegemezi inahitaji saa na kujenga chanzo inahitaji masaa zaidi. Hasa kwa miradi inayohusiana na AI, wakati wa kusubiri zaidi ya wakati wa kujaribu.

Tatizo la Toleo

Kila mtu jaribu miradi mingi katika RPi moja. Unapojaribu mradi na ungependa kubadili kwenda kwa mwingine, unaweza kupata kutofaulu kwa ujenzi kunasababishwa na toleo la maktaba ya utegemezi linapingana na mradi uliopita. Maktaba zingine huacha kuibuka miaka michache iliyopita na hutegemea maktaba za zamani sana. Kwa upande mwingine, mradi wa kazi ulitegemea maktaba za hivi karibuni. Mradi wote hauwezi kuwepo katika gari moja la SD / USB?.

Hifadhi Nakala ya Picha

Kwa kuwa miradi mingine haiwezi kuwepo, nunua tu gari la SD / USB ili kuweka kila picha ya mradi ni njia. Ikiwa pesa hazipunguki? Lakini inaongeza ugumu wa usimamizi wa faili / picha, wakati mwingine unahitaji kubadilisha SD / USB na boot mara nyingi ili kujua unachotaka.

Ni ngumu Kushiriki

Wakati uliunda mradi wako na ungependa kushiriki chanzo kwa marafiki, marafiki wako wanaweza kurudishiwa kulisha kulishindwa. Toleo la usambazaji / maktaba ni la zamani sana au mpya sana, vigezo vya ujenzi na ujanja fulani. Unahitaji kutumia wakati kusuluhisha shida zingine za kujenga lakini sio kuunga mkono mradi wenyewe.

Sehemu za maumivu hapo juu ni uzoefu wangu katika miaka hii michache. Docker inaweza kusaidia zaidi yake.

Anza Docker kutoka kwa kuchagua picha ya mzazi iliyojengwa. Mfano. debian: jessie-nyembamba kuanza kutoka kwa usambazaji wa uzito wa zamani wa uzito wa Debian; node: 10-buster-slim kuanza kutoka kwa usambazaji wa uzito wa mwanga wa Debian na Node.js 10 imewekwa. Picha iliyojengwa inaweza kuokoa muda mwingi kuangaza picha, kupata sasisho na kusanikisha maktaba zinazotegemewa. Kila mradi unaweza kuanza kutoka kwa toleo tofauti la OS, toleo la wakati wa kukimbia na toleo la maktaba. Unapomaliza kukuza mradi wako mwenyewe, unaweza kushinikiza picha ya Docker kwenye kitovu cha docker na ushiriki kwa kila mtu. Unaweza kuweka data yote ya mradi kwenye SD / USB sawa (data inapaswa kuhifadhi nakala rudufu kwa media zingine). Kwa kuokoa uhifadhi wa ndani, unaweza hata kusafisha picha ya Docker wakati haitumiwi, wakati wowote unaweza kuvuta kutoka kwenye kitovu cha Docker tena.

Hatua ya 2: Docker Overhead

Docker ameongeza safu moja ya kusanidi, kichwa chake ni wasiwasi. Sijajaribu sana juu ya kichwa cha Docker. Matokeo mengi ya Googled yanadai juu sana na nimepata hati hii kuhusu utafiti unaohusiana:

domino.research.ibm.com/library/cyberdig.n…

Hatua ya 3: Sakinisha Docker

Endesha tu:

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

Ref.

www.raspberrypi.org/blog/docker-comes-to-…

docs.docker.com/get-started/

Hatua ya 4: Ujenzi wa Picha ya Docker

Tafadhali pata mwongozo rasmi juu ya kujenga picha ya docker:

docs.docker.com/get-started/part2/

Nina miradi 2 inayotumia Docker, unaweza kupata Dockerfile kama kumbukumbu:

BanateCAD inahitaji muda wa kukimbia wa Lua na maktaba zingine za Lua. Ni Lua 5.1 tu inayoweza kuendana na maktaba zote zinazohitajika za Lua lakini ni bidhaa ya 2006. Usambazaji wa hivi karibuni wa Debian ambao unaweza kujenga mafanikio ya Lua 5.1 ni Jessie (Toleo kabla ya zizi la zamani la Debian). Kwa hivyo niliunda Picha ya Dua ya Mazingira ya Lua 5.1 kuiendesha

github.com/moononournation/BanateCAD/tree/…

OpenCV ni mradi unaoendelea kikamilifu, nambari ya chanzo inategemea maktaba za hivi karibuni na mkusanyaji. Kwa hivyo ni nafasi kubwa sana ya kuunda iliyoshindwa, saini ya njia ya maktaba, toleo la mkusanyaji, mzozo wa utegemezi… Ningependa kutumia opencv4nodejs kutengeneza programu rahisi na haiitaji huduma za hivi karibuni. Kwa hivyo nilipopata njia ya kujenga mafanikio ya opencv4nodejs, ningependa kuifungia kwa Picha ya Docker na kufanya usimbuaji wangu halisi wa programu

github.com/moononournation/face-aware-phot…

Hatua ya 5: Maendeleo ya Kuunda Kasi Vs Ukubwa wa Picha

Maendeleo Kujenga Kasi Vs Ukubwa wa Picha
Maendeleo Kujenga Kasi Vs Ukubwa wa Picha
Ukuzaji Kuunda Kasi Vs Ukubwa wa Picha
Ukuzaji Kuunda Kasi Vs Ukubwa wa Picha

Unaweza kupata mradi wangu wa kufahamu uso-picha-osd una matoleo 2 ya Dockfile:

github.com/moononournation/face-aware-phot…

Wakati maendeleo, napenda kugawanya amri ya RUN ndogo iwezekanavyo na kupanga uwezekano mkubwa wa kubadilisha amri ya RUN kwa hatua ya mwisho. Kwa hivyo kwa kila ujenzi wa mabadiliko ya maendeleo, ninaweza kutumia safu iliyojengwa hapo awali iwezekanavyo na kuokoa kasi ya kujenga.

Kwa upande mwingine, nitaunganisha amri zote za RUN kwa moja kabla ya kutolewa. safu ndogo inaweza kupunguza saizi ya Picha ya Docker. Mradi wangu wa kufahamu-picha-osd kama mfano inaweza kupunguza zaidi ya MB 100 kwa saizi.

Hatua ya 6: Picha nyingi za Arch

Picha nyingi za Arch
Picha nyingi za Arch

Kama ilivyoelezwa hapo awali, RPi sio nia ya kusindika nguvu. Tumia picha ya RPi kujenga Docker inaweza kuwa sio chaguo nzuri, haswa wakati RPi yako pekee inaendesha miradi mingine.

Tumia kompyuta ya x86 pia inaweza kukusaidia kujenga Picha ya Docker, tafadhali pata maelezo zaidi hapa:

www.docker.com/blog/multi-arch-images/

amri rahisi 2 zinaweza kujenga x86 na Picha ya Docker ya Sambamba sambamba:

docker buildx kuunda - tumia

docker buildx kujenga -platform linux / amd64, linux / arm -t moononournation / debian-imagemagick-lua-meshlab: 1.0.1 - push.

Multi Arch inaweza kujenga picha nyingi za jukwaa na lebo hiyo ya picha ya Docker, kwa hivyo mradi wako unaweza kukimbia kwa mashine tofauti bila mshono. mf.

docker run -it moononournation / debian-imagemagick-lua-meshlab: 1.0.1

Haijalishi unatumia amri iliyo hapo juu kwenye RPi au kompyuta yako ya x86, unaweza kupata mazingira ya wakati wa kukimbia wa Lua.

Hatua ya 7: RPi njema

Sasa unaweza kukuza na kushiriki mradi wako wa RPi kwa urahisi zaidi!

Ilipendekeza: