Kazalo:
- 1. korak: Zakaj Docker?
- 2. korak: Docker nad glavo
- 3. korak: Namestite Docker
- 4. korak: Izdelava slike Dockerja
- 5. korak: Razvoj hitrosti gradnje Vs velikost slike
- 6. korak: Slike z več loki
- 7. korak: Vesel RPi
Video: Zgradite sliko Docker za Raspberry Pi: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Ta navodila kažejo, kako zgraditi sliko Dockerja za Raspberry Pi.
1. korak: Zakaj Docker?
Raspberry Pi (RPi) lahko uporabite za marsikaj, majhen spletni strežnik, pomočnik AI, robotika … itd.
Veliko projektov, ki jih želite preizkusiti, vendar so boleče točke:
Čas za gradnjo
RPi ni navdušen nad procesorsko močjo, pogon SD/USB pa je omejil hitrost IO. Za uporabo paketa odvisnosti apt install all je potrebna ena ura, za izgradnjo vira pa več ur. Predvsem za projekte, povezane z umetno inteligenco, je treba čakati več kot čas, da poskusite.
Konflikt različice
Vsak poskusi veliko projektov v enem RPi. Ko ste preizkusili projekt in bi radi prešli na drugega, lahko pride do napake pri gradnji, ki je posledica konflikta različice knjižnic odvisnosti s prejšnjim projektom. Nekatere knjižnice se nehajo razvijati pred nekaj leti in so odvisne od nekaterih zelo starih knjižnic. Nasprotno pa je bil aktivni projekt odvisen od najnovejših knjižnic. Oba projekta ne moreta sobivati v istem pogonu SD/USB ?.
Varnostno kopiranje slike
Ker nekateri projekti ne morejo obstajati skupaj, preprosto kupite več pogona SD/USB, da bo vsaka slika projekta odvisna. Če denar ni omejen ?. Toda to povečuje težave pri upravljanju datotek/slik, včasih potrebujete zamenjavo SD/USB in se večkrat zaženete, da ugotovite, kaj želite.
Težko deliti
Ko ste ustvarili svoj projekt in želite vir deliti s prijatelji, bodo vaši prijatelji morda dobili nazaj napako pri gradnji. Različica distribucije/knjižnice prestara ali preveč nova, gradbeni parametri in nekateri triki. Za reševanje drugih težav pri gradnji morate porabiti čas, ne pa podpreti samega projekta.
Zgornje bolečine so moje izkušnje v teh nekaj letih. Docker lahko večinoma pomaga.
Docker začne gradnjo z izbiro vnaprej izdelane nadrejene slike. Npr. debian: jessie-slim začetek iz stare stabilne distribucije lahke teže Debian; vozlišče: 10-buster-tanek začetek iz distribucije lahke teže Debian z nameščenim Node.js 10. Vnaprej pripravljena slika lahko prihrani veliko časa za utrditev slike, posodobitev in namestitev knjižnic, ki so odvisne od nje. Vsak projekt se lahko začne z različno različico operacijskega sistema, različico izvajalnega okolja in različico knjižnice. Ko končate z razvojem lastnega projekta, lahko sliko Dockerja potisnete v dockerjevo vozlišče in jo delite z vsemi. Vse podatke o projektu lahko hranite na istem SD/USB -ju (podatki bi morali rutinsko varnostno kopirati na druge medije). Če želite shraniti lokalni pomnilnik, lahko celo očistite sliko Dockerja, kadar ga ne uporabljate, kadar koli ga lahko znova povlečete iz središča Dockerja.
2. korak: Docker nad glavo
Docker je dodal eno virtualizacijsko plast, stroški so skrb. O stroških Dockerja nisem preveč testiral. Večina rezultatov Googla trdi, da so stroški zelo nizki in ta dokument sem našel o nekaterih sorodnih raziskavah:
domino.research.ibm.com/library/cyberdig.n…
3. korak: Namestite Docker
Preprosto zaženite:
curl -sSL https://get.docker.com | sh
Ref.:
www.raspberrypi.org/blog/docker-comes-to-…
docs.docker.com/get-started/
4. korak: Izdelava slike Dockerja
Poiščite uradni priročnik za izdelavo slike dockerja:
docs.docker.com/get-started/part2/
Imam 2 projekta, ki uporabljajo Docker, Dockerfile lahko najdete kot referenco:
BanateCAD zahteva čas izvajanja Lua in nekaj knjižnic Lua. Samo Lua 5.1 je lahko združljiva z vsemi potrebnimi knjižnicami Lua, vendar je produkt leta 2006. Najnovejša distribucija Debian, ki lahko ustvari uspeh Lua 5.1, je Jessie (različica pred sedanjo staro stabilno Debian). Zato sem zgradil okolje Docker Image Lua 5.1 za njegovo izvajanje
github.com/moononournation/BanateCAD/tree/…
OpenCV je projekt, ki se aktivno razvija, izvorna koda je odvisna od najnovejših knjižnic in prevajalnika. Zato je velika verjetnost, da ne uspe zgraditi, podpis knjižnične metode, različica prevajalnika, konflikt odvisnosti … Rad bi uporabil opencv4nodejs za preprosto aplikacijo in ne zahteva najnovejših funkcij. Ko sem torej našel način za izgradnjo uspeha opencv4nodejs, bi ga rad zamrznil v sliko Dockerja in naredil dejansko kodiranje aplikacije
github.com/moononournation/face-aware-phot…
5. korak: Razvoj hitrosti gradnje Vs velikost slike
Morda ste ugotovili, da ima moj projekt zavedanja obraza-photo-osd 2 različici Dockfile:
github.com/moononournation/face-aware-phot…
Med razvojem imam rad čim manjši ukaz RUN in najverjetneje spremenim ukaz RUN v zadnji korak. Tako lahko pri vsaki gradnji za razvojne spremembe čim bolj izkoristim prejšnjo vgrajeno plast in prihranim veliko hitrost gradnje.
V nasprotju s tem bom pred izdajo združil vse ukaze RUN v enem. manjša plast lahko precej zmanjša velikost slike Docker. Moj projekt, ki se zaveda obraza-photo-osd, na primer lahko zmanjša velikost več kot 100 MB.
6. korak: Slike z več loki
Kot smo že omenili, RPi ne zanima procesorske moči. Uporaba RPi build Docker slike morda ni dobra izbira, še posebej, če vaš edini RPi izvaja druge projekte.
Uporaba računalnika x86 vam lahko pomaga tudi pri izdelavi slike Dockerja. Več podrobnosti najdete tukaj:
www.docker.com/blog/multi-arch-images/
preprosta 2 ukaza lahko vzporedno zgradita x86 in ARM Docker Image:
docker buildx create --use
docker buildx build-platforma linux/amd64, linux/arm -t moononournation/debian-imagemagick-lua-meshlab: 1.0.1 --push.
Multi Arch lahko ustvari podobo na več platformah z isto Docker slikovno oznako, tako da se vaš projekt lahko nemoteno izvaja v različnih strojih. npr.
docker run -it moononournation/debian-imagemagick-lua-meshlab: 1.0.1
Ne glede na to, da zgornji ukaz zaženete v RPi ali računalniku x86, lahko dobite okolje za izvajanje Lua.
7. korak: Vesel RPi
Zdaj lahko svoj projekt RPi lažje razvijate in delite!
Priporočena:
Zanimiv programski vodnik za oblikovalca-Ustvarite svojo sliko (drugi del): 8 korakov
Zanimiva programska navodila za oblikovalca-Ustvarite svojo sliko (drugi del): Matematika se za večino od vas zdi neuporabna. V vsakdanjem življenju se najpogosteje uporablja samo seštevanje, odštevanje, množenje in deljenje. Vendar pa je precej drugače, če lahko ustvarjate s programom. Več ko veste, bolj čudovit rezultat boste dobili
Kako narediti čudovito sliko profila za Chromebook: 9 korakov
Kako narediti čudovito sliko profila za svoj Chromebook: Pozdravljeni, vsi! To je Gamer Bro Cinema, danes vas bomo naučili, kako narediti čudovito sliko profila YouTube za svoj kanal YouTube! Tovrstno sliko profila je mogoče narediti samo na Chromebooku. Začnimo
Kako: Namestitev Raspberry PI 4 Headless (VNC) z Rpi-sliko in slikami: 7 korakov (s slikami)
Kako: Namestitev Raspberry PI 4 Headless (VNC) z Rpi-imagerjem in slikami: Ta Rapberry PI nameravam uporabiti v kopici zabavnih projektov v svojem blogu. Vabljeni, da to preverite. Želel sem se vrniti v uporabo Raspberry PI, vendar na novi lokaciji nisem imel tipkovnice ali miške. Nekaj časa je minilo, odkar sem nastavil malino
Pretvorite 2D sliko v 3D model: 7 korakov (s slikami)
Pretvorite 2D sliko v 3D model: Ste kdaj želeli posneti 2D sliko in jo spremeniti v 3D model? Ta navodila vam bodo pokazala, kako z brezplačnim skriptom in Fusion 360. Kaj boste potrebovaliFusion 360 (Mac / Windows) Kaj boste storili Prenesite in namestite Fusion 360. Kliknite tukaj, če se želite brezplačno prijaviti
Pretvorite sliko v skulpturo z moznikom: 7 korakov (s slikami)
Pretvorite sliko v skulpturo iz moznikov: V tem projektu sem sliko balona z vročim zrakom pretvoril v skulpturo iz palice z moznikom. Končna struktura je preoblikovanje digitalnih informacij, shranjenih na fotografiji, v fizični 3D objekt. Skulpturo sem izdelal, da bi si lažje predstavljal, kako je slika