Cuprins:
- Pasul 1: De ce Docker?
- Pasul 2: Docker Overhead
- Pasul 3: Instalați Docker
- Pasul 4: Construirea imaginii Docker
- Pasul 5: Dezvoltare Viteză de construcție Vs Dimensiunea imaginii
- Pasul 6: Imagini cu arc multiplu
- Pasul 7: RPi fericit
Video: Construiți imaginea Docker pentru Raspberry Pi: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
Aceste instrucțiuni arată cum să construiți o imagine Docker pentru Raspberry Pi.
Pasul 1: De ce Docker?
Puteți utiliza Raspberry Pi (RPi) face multe lucruri, server web mic, asistent AI, robotică … etc.
Multe proiecte pe care doriți să le încercați, dar punctele de durere sunt:
E timpul să construiești
RPi nu dorește puterea de procesare, iar unitatea SD / USB a limitat viteza IO. Utilizați pachetul apt install all dependency necesită o oră, iar construirea sursei necesită mai multe ore. Mai ales pentru proiectele legate de AI, este timpul să așteptați mai mult decât să încercați.
Conflict de versiune
Toată lumea încearcă multe proiecte într-un singur RPi. Când ați încercat un proiect și doriți să treceți la altul, este posibil să găsiți o eroare de compilare cauzată de conflictul dintre versiunile bibliotecilor de dependență și proiectul anterior. Unele biblioteci nu se mai dezvoltă acum câțiva ani și depind de unele biblioteci foarte vechi. În schimb, proiectul activ depindea de cele mai recente biblioteci. Ambele proiecte nu pot coexista în aceeași unitate SD / USB ?.
Backup imagine
Deoarece unele proiecte nu pot coexista, pur și simplu cumpărați mai multe unități SD / USB pentru a păstra dependența fiecărei imagini de proiect. Dacă banii nu sunt limitați ?. Dar crește dificultățile de gestionare a fișierelor / imaginilor, uneori aveți nevoie de swap SD / USB și porniți de multe ori pentru a afla ce doriți.
Greu de distribuit
Atunci când v-ați construit proiectul și doriți să împărtășiți sursa prietenilor, este posibil ca prietenii dvs. să primească feed-ul eșuat la compilare. Versiunea de distribuție / biblioteci este prea veche sau prea nouă, construind parametri și câteva trucuri. Trebuie să folosiți timpul pentru a rezolva alte probleme de construire, dar nu pentru a susține proiectul în sine.
Punctele de durere de mai sus sunt experiența mea din acești câțiva ani. Docker poate ajuta majoritatea.
Docker începe construirea de la selectarea unei imagini părinte predefinite. De exemplu. debian: jessie-slim începe de la o distribuție stabilă de greutate ușoară Debian; nod: 10-buster-slim începe de la distribuția ușoară Debian cu Node.js 10 instalat. Imaginea pre-construită poate economisi mult timp pentru a bloca imaginea, pentru a obține actualizarea și pentru a instala biblioteci dependente. Fiecare proiect poate porni de la diferite versiuni de sistem de operare, versiuni de rulare și versiuni de biblioteci. Când ați terminat de dezvoltat propriul proiect, puteți împinge imaginea Docker în hub-ul Docker și să o distribuiți tuturor. Puteți păstra toate datele proiectului la același SD / USB (datele ar trebui să facă backup de rutină pe alte medii). Pentru a economisi spațiul de stocare local, puteți chiar curăța imaginea Docker atunci când nu o utilizați, oricând puteți extrage din hub Docker din nou.
Pasul 2: Docker Overhead
Docker a adăugat un strat de virtualizare, cheltuielile generale sunt o preocupare. Nu am testat prea multe despre Docker. Cele mai multe rezultate Googled susțin că sunt cheltuieli reduse și am găsit acest document despre unele cercetări conexe:
domino.research.ibm.com/library/cyberdig.n…
Pasul 3: Instalați Docker
Pur și simplu rulați:
curl -sSL https://get.docker.com | SH
Ref.:
www.raspberrypi.org/blog/docker-comes-to-…
docs.docker.com/get-started/
Pasul 4: Construirea imaginii Docker
Vă rugăm să găsiți ghidul oficial despre imaginea de andocare a clădirii:
docs.docker.com/get-started/part2/
Am 2 proiecte folosind Docker, este posibil să găsiți fișierul Docker ca referință:
BanateCAD necesită runtime Lua și câteva biblioteci Lua adăugate. Numai Lua 5.1 poate fi compatibil cu toate bibliotecile Lua necesare, dar este produsul anului 2006. Cea mai recentă distribuție Debian care poate construi succesul Lua 5.1 este Jessie (Versiunea dinaintea actualului vechi stabil Debian). Așa că am construit un mediu Lua 5.1 Docker Image pentru al rula
github.com/moononournation/BanateCAD/tree/…
OpenCV este un proiect în dezvoltare activă, codul sursă depinde de cele mai recente biblioteci și compilator. Deci, este foarte mare șansa de a construi eșuat, semnătura metodei bibliotecilor, versiunea compilatorului, conflictul de dependență … Aș dori să folosesc opencv4nodejs pentru a crea o aplicație simplă și nu sunt necesare cele mai recente caracteristici. Așadar, când am găsit o modalitate de a construi succesul opencv4nodejs, aș vrea să o îngheț într-o imagine Docker și să fac codificarea aplicației mele
github.com/moononournation/face-aware-phot…
Pasul 5: Dezvoltare Viteză de construcție Vs Dimensiunea imaginii
S-ar putea să găsiți că proiectul meu face-aware-photo-osd are 2 versiuni de Dockfile:
github.com/moononournation/face-aware-phot…
În timpul dezvoltării, îmi place comanda RUN divizată cât mai mică posibil și aranjez cel mai probabil schimbarea comenzii RUN la ultimul pas. Așadar, pentru fiecare versiune pentru schimbarea dezvoltării, pot utiliza stratul construit anterior cât mai mult posibil și pot economisi o viteză de construcție mare.
În schimb, voi combina toate comenzile RUN într-una înainte de lansare. un strat mai mic poate reduce dimensiunea imaginii Docker. Proiectul meu foto-osd conștient de față, ca exemplu, poate reduce mai mult de 100 MB în dimensiune.
Pasul 6: Imagini cu arc multiplu
Așa cum am menționat anterior, RPi nu este foarte interesat de puterea de procesare. Utilizarea imaginii RPi build Docker poate să nu fie o alegere bună, mai ales atunci când singurul dvs. RPi rulează alte proiecte.
Utilizați un computer x86, de asemenea, vă poate ajuta să construiți imaginea Docker, vă rugăm să găsiți mai multe detalii aici:
www.docker.com/blog/multi-arch-images/
2 comenzi simple pot crea x86 și ARM Docker Image în paralel:
docker buildx create --use
docker buildx build --platform linux / amd64, linux / arm -t moononournation / debian-imagemagick-lua-meshlab: 1.0.1 --push.
Multi Arch poate crea imagini cu mai multe platforme cu aceeași etichetă de imagine Docker, astfel încât proiectul dvs. să poată rula fără probleme în diferite mașini. de exemplu.
docker run -it moononournation / debian-imagemagick-lua-meshlab: 1.0.1
Indiferent dacă executați comanda de mai sus pe RPi sau computerul dvs. x86, puteți obține un mediu de execuție Lua.
Pasul 7: RPi fericit
Acum puteți dezvolta și partaja proiectul dvs. RPi mai ușor!
Recomandat:
Cum se face - MODULUL DE AFIȘARE E-PAPER E-INK - Partea 2 - Importați imaginea personalizată: 4 pași
Cum se face - MODULUL DE AFIȘARE E-PAPER E-INK - Partea 2 | Importați imaginea personalizată: În acest tutorial pentru partea 2 din Cum să - MODULUL DE AFIȘARE E-PAPER E-INK | Importați imaginea personalizată, vă voi împărtăși cum să importați imaginea care vă place și să o afișez pe modulul de afișare cu cerneală electronică. Este foarte simplu cu ajutorul câtorva s
Construiți un receptor infraroșu Kodi / OSMC și resetați pălăria pentru Raspberry Pi: 5 pași (cu imagini)
Construiți un receptor infraroșu Kodi / OSMC și resetați pălăria pentru Raspberry Pi: Construiți un receptor IR Kodi / OSMC și resetați pălăria pentru Raspberry Pi 3 Dintr-o cameră, aș dori să: Controlați Kodi / OSMC care rulează pe un Raspberry Pi cu o telecomandă Vedeți dacă Raspberry Pi este pornit De asemenea, aș vrea ca familia mea să
Construiți o cutie de baterii pentru cutii de trabucuri pentru aparatele de radio cu tuburi: 4 pași
Construiți o cutie de baterii pentru cutii de țigări pentru aparatele de radio cu tuburi: dacă vă place să construiți și să vă jucați cu aparate de radio cu tuburi ca și mine, probabil că aveți o problemă similară cu cea cu alimentarea lor. Majoritatea circuitelor vechi au fost proiectate să funcționeze pe baterii de înaltă tensiune b care nu mai sunt disponibile. Asa de
Creați modele înclinabile pentru imaginea de fundal a site-ului web: 8 pași
Creați modele care pot fi înclinate pentru imaginea de fundal a site-ului: Iată o metodă simplă și simplă (cred) pentru a crea imagini care pot fi placate fără a arăta prea „asemănătoare rețelei”. Acest tutorial utilizează Inkscape (www.inkscape.org), un editor grafic vector open-source. Îmi imaginez că această metodă poate
Windows 7 Starter: Mod ușor de a schimba imaginea de fundal: 5 pași
Windows 7 Starter: Mod ușor de a schimba imaginea de fundal: Bine ați venit! :-) **** Pentru cititorii care nu doresc să citească povestea acestui instructable aici este un scurt: Acest instructable este despre schimbarea tapetului în Windows 7 Starter Edition, care este o problemă deoarece Microsoft a șters această opțiune în această re specială