Sadržaj:
- Korak 1: Zašto Docker?
- Korak 2: Docker iznad glave
- Korak 3: Instalirajte Docker
- Korak 4: Izgradnja Docker slike
- Korak 5: Razvoj Brzina izgradnje vs Veličina slike
- Korak 6: Multi Arch slike
- Korak 7: Sretan RPi
Video: Izradite Docker sliku za Raspberry Pi: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
Ove upute pokazuju kako izgraditi Docker sliku za Raspberry Pi.
Korak 1: Zašto Docker?
Možete koristiti Raspberry Pi (RPi) za mnoge stvari, maleni web poslužitelj, AI pomoćnik, robotika … itd.
Mnogi projekti koje želite isprobati, ali bolne točke su:
Vrijeme je za izgradnju
RPi ne voli procesorsku snagu, a SD/USB pogon ograničio je IO brzinu. Koristi apt install all paket ovisnosti zahtijeva sat vremena, a za izgradnju izvora potrebno je više sati. Posebno za projekte vezane uz AI, vrijeme je za čekanje više od vremena za isprobavanje.
Sukob verzija
Svatko isprobava mnogo projekata u jednom RPi. Kada ste isprobali projekt i htjeli biste se prebaciti na drugi, možda ćete otkriti grešku u izgradnji uzrokovanu sukobom verzije knjižnica ovisnosti s prethodnim projektom. Neke se knjižnice prestaju razvijati prije nekoliko godina i ovise o nekim vrlo starim knjižnicama. Nasuprot tome, aktivni projekt ovisio je o najnovijim knjižnicama. Oba projekta ne mogu koegzistirati u istom SD/USB pogonu ?.
Sigurnosno kopiranje slike
Budući da neki projekti ne mogu postojati zajedno, jednostavno kupite više SD/USB pogona kako bi slika svakog projekta ostala ovisna. Ako novac nije ograničen ?. No to povećava poteškoće u upravljanju datotekama/slikama, ponekad vam je potrebna zamjena SD/USB -a i podizanje sustava mnogo puta kako biste saznali što želite.
Teško podijeliti
Kad ste izgradili svoj projekt i htjeli podijeliti izvor s prijateljima, vaši prijatelji mogu dobiti povratnu datoteku pri izgradnji. Verzija distribucije/knjižnice prestara ili previše nova, parametri izgradnje i neki trikovi. Morate iskoristiti vrijeme za rješavanje drugih problema pri izgradnji, ali ne i za podršku samom projektu.
Gore navedene točke boli moje su iskustvo u ovih nekoliko godina. Docker većinom može pomoći.
Docker počinje gradnju odabirom unaprijed izgrađene roditeljske slike. Npr. debian: jessie-slim početak od stare stabilne Debian distribucije male težine; čvor: 10-buster-slim start iz Debian distribucije male težine s instaliranim Node.js 10. Unaprijed izgrađena slika može uštedjeti mnogo vremena za fleširanje slike, ažuriranje i instaliranje knjižnica ovisnih o njoj. Svaki projekt može započeti s različitim verzijama OS -a, verzijom izvođenja i bibliotekom. Kad završite s razvijanjem vlastitog projekta, možete sliku Dockera gurnuti u docker čvorište i podijeliti sa svima. Sve projektne podatke možete čuvati na istom SD/USB -u (podaci bi trebali rutinski sigurnosno kopirati na druge medije). Za spremanje lokalne pohrane, čak možete i očistiti sliku Dockera kad se ne koristi, kad god možete ponovno povući iz Docker čvorišta.
Korak 2: Docker iznad glave
Docker je dodao jedan sloj za virtualizaciju. Nisam previše testirao oko Dockera. Većina rezultata na Google -u tvrdi da imaju vrlo niske troškove i pronašao sam ovaj dokument o nekim povezanim istraživanjima:
domino.research.ibm.com/library/cyberdig.n…
Korak 3: Instalirajte Docker
Jednostavno pokrenite:
curl -sSL https://get.docker.com | š
Ref.:
www.raspberrypi.org/blog/docker-comes-to-…
docs.docker.com/get-started/
Korak 4: Izgradnja Docker slike
Pronađite službeni vodič o izgradnji slike dokera:
docs.docker.com/get-started/part2/
Imam 2 projekta koji koriste Docker, možda ćete pronaći Dockerfile kao referencu:
BanateCAD zahtijeva vrijeme izvođenja Lua i neke Lua knjižnice. Samo Lua 5.1 može biti kompatibilan sa svim potrebnim Lua knjižnicama, ali to je proizvod iz 2006. Najnovija Debian distribucija koja može izgraditi uspjeh Lua 5.1 je Jessie (verzija prije trenutne stare Debian stabilne). Stoga sam izgradio Docker Image okruženje Lua 5.1 za njegovo pokretanje
github.com/moononournation/BanateCAD/tree/…
OpenCV je projekt koji se aktivno razvija, izvorni kod ovisi o najnovijim knjižnicama i prevoditelju. Dakle, velike su šanse za izgradnju neuspjele, potpis metode knjižnice, verzija prevoditelja, sukob ovisnosti … Htio bih koristiti opencv4nodejs za izradu jednostavne aplikacije i ne zahtijevaju najnovije značajke. Pa kad sam pronašao način za postizanje uspjeha opencv4nodejs, želio bih ga zamrznuti na Docker sliku i napraviti svoje kodiranje aplikacije
github.com/moononournation/face-aware-phot…
Korak 5: Razvoj Brzina izgradnje vs Veličina slike
Možda ste otkrili da moj projekt prepoznavanja lica-foto-osd ima 2 verzije Dockfilea:
github.com/moononournation/face-aware-phot…
Tijekom razvoja, volim podijeliti naredbu RUN što je moguće manje i organizirati najvjerojatnije promjenu naredbe RUN u posljednji korak. Dakle, za svaku izgradnju za razvojne promjene mogu iskoristiti prethodni izgrađeni sloj što je više moguće i uštedjeti mnogo na brzini izgradnje.
Nasuprot tome, prije izdavanja kombinirat ću sve naredbe RUN u jednu. manji sloj može znatno smanjiti veličinu slike Docker. Moj projekt za osvještavanje lica, foto-osd, na primjer, može smanjiti veličinu veću od 100 MB.
Korak 6: Multi Arch slike
Kao što je već spomenuto, RPi ne voli procesorsku snagu. Upotreba RPi build Docker slike možda nije dobar izbor, pogotovo ako vaš jedini RPi izvodi druge projekte.
Upotreba x86 računala također vam može pomoći u izgradnji Docker slike. Više detalja potražite ovdje:
www.docker.com/blog/multi-arch-images/
jednostavne 2 naredbe mogu paralelno izgraditi x86 i ARM Docker sliku:
docker buildx create --use
docker buildx build --platform linux/amd64, linux/arm -t moononournation/debian-imagemagick-lua-meshlab: 1.0.1 --push.
Multi Arch može stvoriti sliku više platformi s istom Docker oznakom slike, tako da se vaš projekt može neometano izvoditi na različitim strojevima. npr.
docker run -it moononournation/debian-imagemagick-lua-meshlab: 1.0.1
Bez obzira pokrenete li gornju naredbu na RPi ili svom x86 računalu, možete dobiti Lua runtime okruženje.
Korak 7: Sretan RPi
Sada možete lakše razvijati i dijeliti svoj RPi projekt!
Preporučeni:
Zanimljiv vodič za programiranje za dizajnera-Pokrenite svoju sliku (drugi dio): 8 koraka
Zanimljivi programski vodič za dizajnera-Pokrenite svoju sliku (drugi dio): Matematika se većini vas čini beskorisnom. U svakodnevnom životu najčešće se koristi samo zbrajanje, oduzimanje, množenje i dijeljenje. Međutim, sasvim je drugačije ako možete stvarati s programom. Što više znate, to ćete postići sjajniji rezultat
Kako napraviti sjajnu sliku profila za svoj Chromebook: 9 koraka
Kako napraviti sjajnu sliku profila za svoj Chromebook: Pozdrav svima! Ovo je Gamer Bro Cinema, a danas ćemo vas naučiti kako napraviti sjajnu sliku profila na YouTubeu za svoj YouTube kanal! Ova vrsta slike profila može se izvesti samo na Chromebooku. Započnimo
Izradite VPN na svom Raspberry Pi uređaju: 6 koraka (sa slikama)
Izradite VPN na svom Raspberry Pi uređaju: VPN ili virtualna privatna mreža mogu pomoći običnim korisnicima interneta da ostanu malo privatniji dok surfaju internetom. Također može pomoći profesionalnim programerima softvera dok rade na svojim projektima. Raspberry Pi VPN veza koja se temelji
Kako to učiniti-MODUL ZASLONA E-INK E-PAPIRA-2. dio - Uvoz Prilagodite sliku: 4 koraka
Kako to učiniti-MODUL ZASLONA E-INK E-PAPIRA-2. dio | Uvoz Prilagodite sliku: U ovom vodiču za 2. dio Kako-E-TINATSKI MODUL ZA PRIKAZ E-PAPIRA | Uvoz prilagođene slike, podijelit ću s vama kako uvesti sliku koja vam se sviđa i prikazati je na modulu za prikaz e-tinte. Vrlo je jednostavno uz pomoć nekoliko s
Izradite infracrveni prijemnik Kodi / OSMC i šešir za resetiranje za Raspberry Pi: 5 koraka (sa slikama)
Napravite infracrveni prijemnik Kodi / OSMC i šešir za resetiranje za Raspberry Pi: Izgradite Kodi / OSMC IC prijemnik i resetirajte šešir za Raspberry Pi 3 Iz cijele prostorije želim: Upravljati Kodi / OSMC -om na Raspberry Pi -u daljinskim upravljačem Provjerite je li Raspberry Pi uključen Također bih želio da moja obitelj