Talaan ng mga Nilalaman:
- Hakbang 1: Bakit Docker?
- Hakbang 2: Overck ng Docker
- Hakbang 3: I-install ang Docker
- Hakbang 4: Pagbuo ng Imahe ng Docker
- Hakbang 5: Pagpapaunlad Bumuo ng Bilis Vs Laki ng Imahe
- Hakbang 6: Mga Larawan ng Multi Arch
- Hakbang 7: Maligayang RPi
Video: Bumuo ng Larawan ng Docker para sa Raspberry Pi: 7 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Ipinapakita ng mga tagubilin na ito kung paano bumuo ng isang Docker Image para sa Raspberry Pi.
Hakbang 1: Bakit Docker?
Maaari mong gamitin ang Raspberry Pi (RPi) na gumawa ng maraming bagay, maliliit na web server, AI assistant, Robotics… atbp.
Maraming mga proyekto ang nais mong subukan, ngunit ang mga puntos ng sakit ay:
Oras na Itatayo
Ang RPi ay hindi masigasig sa pagpoproseso ng kuryente, at nilimitahan ng SD / USB drive ang bilis ng IO. Gumamit ng apt na pag-install ng lahat ng pakete ng pagtitiwala ay nangangailangan ng isang oras at ang pagbuo ng mapagkukunan ay nangangailangan ng mas maraming oras. Lalo na para sa mga proyekto na nauugnay sa AI, oras upang maghintay nang higit pa sa oras upang subukan.
Salungatan sa Bersyon
Ang bawat isa ay sumubok ng maraming mga proyekto sa isang RPi. Kapag nasubukan mo ang isang proyekto at nais na lumipat sa isa pa, maaari kang makahanap ng isang pagkabigo sa pagbuo sanhi ng salungat na bersyon ng mga aklatan ng dependency sa nakaraang proyekto. Ang ilang mga aklatan ay huminto sa pagbuo ng ilang taon na ang nakakaraan at nakasalalay sa ilang mga napakatandang aklatan. Sa kaibahan, ang aktibong proyekto ay nakasalalay sa pinakabagong mga aklatan. Ang parehong proyekto ay hindi maaaring magkasama sa parehong SD / USB drive ?.
Pag-backup ng Larawan
Dahil ang ilang mga proyekto ay hindi maaaring magkasama, bumili lamang ng mas maraming SD / USB drive upang mapanatili ang bawat pag-asa sa imahe ng proyekto ay isang paraan. Kung ang pera ay hindi limitado ?. Ngunit pinapataas nito ang mga paghihirap ng pamamahala ng file / imahe, kung minsan ay kinakailangan mo ng pagpapalit ng SD / USB at mag-boot ng maraming beses upang malaman kung ano ang gusto mo.
Mahirap Ibahagi
Kapag itinayo mo ang iyong proyekto at nais na ibahagi ang mapagkukunan sa mga kaibigan, maaaring makuha ng iyong mga kaibigan ang nabuong nabigo na feed. Ang bersyon ng pamamahagi / aklatan ay masyadong luma o masyadong bago, mga parameter ng pagbuo at ilang mga trick. Kailangan mong ubusin ang oras upang malutas ang iba na bumuo ng mga problema ngunit hindi suportahan ang proyekto mismo.
Ang mga puntos sa sakit sa itaas ay ang aking karanasan sa ilang taon. Matutulungan ng Docker ang karamihan dito.
Magsimulang bumuo ang Docker mula sa pagpili ng isang paunang binuo na imaheng. Hal. debian: jessie-slim simula mula sa isang lumang matatag na pamamahagi ng magaan na timbang ng Debian; node: 10-buster-slim simula mula sa pamamahagi ng magaan na timbang ng Debian sa naka-install na Node.js 10. Ang naka-built na imahe ay maaaring makatipid ng maraming oras upang i-flash ang imahe, makakuha ng pag-update at pag-install ng mga nakasalalay na aklatan. Ang bawat proyekto ay maaaring magsimula mula sa iba't ibang bersyon ng OS, bersyon ng runtime at bersyon ng mga aklatan. Kapag natapos mong bumuo ng iyong sariling proyekto, maaari mong itulak ang imahe ng Docker sa docker hub at ibahagi sa lahat. Maaari mong panatilihin ang lahat ng data ng proyekto sa parehong SD / USB (ang data ay dapat na regular na pag-backup sa ibang media). Para sa pag-save ng lokal na imbakan, maaari mo ring linisin ang imahe ng Docker kapag hindi ginagamit, anumang oras maaari kang kumuha muli mula sa Docker hub.
Hakbang 2: Overck ng Docker
Nagdagdag si Docker ng isang virtualize layer, ang overhead ay isang alalahanin. Wala akong nasubukan nang labis tungkol sa overhead ng Docker. Karamihan sa resulta ng Googled na resulta ay nag-angkin ng napakababang overhead at nakita ko ang dokumentong ito tungkol sa ilang kaugnay na pananaliksik:
domino.research.ibm.com/library/cyberdig.n…
Hakbang 3: I-install ang Docker
Patakbuhin lamang:
curl -sSL https://get.docker.com | sh
Ref.:
www.raspberrypi.org/blog/docker-come-to-…
docs.docker.com/get-started/
Hakbang 4: Pagbuo ng Imahe ng Docker
Mangyaring hanapin ang opisyal na gabay sa pagbuo ng imahe ng docker:
docs.docker.com/get-started/part2/
Mayroon akong 2 mga proyekto gamit ang Docker, maaari mong makita ang Dockerfile bilang isang sanggunian:
Nangangailangan ang BanateCAD ng Lua runtime at ilang pagdaragdag ng mga aklatan ng Lua. Ang Lua 5.1 lamang ang maaaring magkatugma sa lahat ng kinakailangang mga aklatan ng Lua ngunit ito ay produkto ng 2006. Ang pinakabagong pamamahagi ng Debian na maaaring bumuo sa tagumpay ng Lua 5.1 ay si Jessie (Ang bersyon bago ang kasalukuyang Debian old stable). Kaya't nagtayo ako ng isang Lua 5.1 na kapaligiran na Docker Image upang patakbuhin ito
github.com/moononournation/BanateCAD/tree/…
Ang OpenCV ay isang aktibong pagbubuo ng proyekto, ang source code ay nakasalalay sa pinakabagong mga aklatan at tagatala. Kaya't napakataas ng pagkakataong bumuo ng nabigo, pirma ng pamamaraan ng mga aklatan, bersyon ng tagatala, salungatan sa dependency … Nais kong gumamit ng opencv4nodejs upang makagawa ng isang simpleng app at hindi nangangailangan ng mga pinakabagong tampok. Kaya't kapag nakakita ako ng isang paraan upang mabuo ang tagumpay ng opencv4nodejs, nais kong i-freeze ito sa isang Docker Image at gawin ang aking aktwal na pag-coding ng application
github.com/moononournation/face-aware-phot…
Hakbang 5: Pagpapaunlad Bumuo ng Bilis Vs Laki ng Imahe
Maaari mong makita ang aking proyekto na may kamalayan sa larawan-osd na may 2 bersyon ng Dockfile:
github.com/moononournation/face-aware-phot…
Habang ang pag-unlad, gusto ko ang split RUN command na maliit hangga't maaari at ayusin ang pinaka-malamang na baguhin ang RUN command sa huling hakbang. Kaya para sa bawat pagbuo para sa pagbabago ng pag-unlad, maaari kong magamit ang nakaraang built layer hangga't maaari at makatipid ng bilis ng pagbuo.
Sa kaibahan, pagsamahin ko ang lahat ng mga RUN na utos sa isa bago ilabas. ang mas mababang layer ay maaaring mabawasan ang laki ng Docker Image. Ang aking proyekto na may kamalayan sa larawan-osd bilang halimbawa maaari nitong mabawasan ang higit sa 100 MB na laki.
Hakbang 6: Mga Larawan ng Multi Arch
Tulad ng nabanggit dati, ang RPi ay hindi isang masigasig sa pagpoproseso ng lakas. Gumamit ng RPi build na imahe ng Docker ay maaaring hindi isang mahusay na pagpipilian, lalo na kapag ang iyong tanging RPi ay nagpapatakbo ng isa pang mga proyekto.
Gumamit din ng x86 computer na makakatulong sa iyo na buuin ang Docker Image, mangyaring maghanap ng higit pang mga detalye dito:
www.docker.com/blog/multi-arch-images/
Ang simpleng 2 utos ay maaaring bumuo ng x86 at ARM Docker Image na kahanay:
docker buildx create --use
docker buildx build --platform linux / amd64, linux / arm -t moononournation / debian-imagemagick-lua-meshlab: 1.0.1 --push.
Maaaring bumuo ang Multi Arch ng imahe ng maraming platform na may parehong tag ng imahe ng Docker, upang ang iyong proyekto ay maaaring tumakbo sa iba't ibang machine nang walang putol. hal.
docker run -it moononournation / debian-imagemagick-lua-meshlab: 1.0.1
Hindi mahalaga kung pinatakbo mo ang utos sa itaas sa RPi o iyong x86 computer, maaari kang makakuha ng isang kapaligiran sa runtime ng Lua.
Hakbang 7: Maligayang RPi
Maaari mo na ngayong paunlarin at ibahagi ang iyong proyektong RPi nang mas madali!
Inirerekumendang:
Paano Bumuo ng isang LABI NG LABAS NG LARAWAN: 7 Hakbang (na may Mga Larawan)
Paano Bumuo ng isang PHOTO LIGHT BOX: Ang mga Lightbox ay isang mahusay na paraan upang makunan ang mga nangungunang larawan. Ang mga ito ay maaaring gawin mula sa halos anumang materyal. Maaari ka ring lumikha ng isa sa karton. Para sa akin, kailangan ko ng isang bagay na matibay at matibay. Bagaman masarap itong masira, wala akong
Bumuo ng isang Dual 15V Power Supply Gamit ang Mga Module ng Istante para sa ilalim ng $ 50: 10 Mga Hakbang (na may Mga Larawan)
Bumuo ng isang Dual 15V Power Supply Gamit ang Off the Shelf Modules para sa Under $ 50: Panimula: Kung ikaw ay isang libangan na nakikipag-usap sa audio, pamilyar ka sa mga dalawahang supply ng kuryente. Karamihan sa mga low audio audio board tulad ng pre-amps ay nangangailangan ng kahit saan mula sa +/- 5V hanggang +/- 15V. Ang pagkakaroon ng dalawahang boltahe na supply ng kuryente ay ginagawang
Bumuo ng isang Power Supply para sa Iyong Mga Guitar Pedal: 7 Hakbang (na may Mga Larawan)
Bumuo ng isang Power Supply para sa Iyong Mga Guitar Pedal: MAHALAGA NA TANDAAN: ANG Elektrisidad AY NAKAKAMATIT! HUWAG SAKIN ANG PROYEKTO NA ITO NG WALANG PROPER NA KAALAMAN AT EDUKASYON SA KALIGTASAN TUNGKOL SA PAGSUSULIT SA PANGUNAHING LAKAS NG Elektronikong! PWEDE AT PAPATAYIN KA! HOMEMADE Mga Elektronikong ITEM NA NAGGAMIT NG PANGUNANG KAPANGYARIHAN AY HINDI DAPAT
CityCoaster - Bumuo ng Iyong Sariling Augmented Reality Coaster para sa Iyong Negosyo (TfCD): 6 na Hakbang (na may Mga Larawan)
CityCoaster - Bumuo ng Iyong Sariling Augmented Reality Coaster para sa Iyong Negosyo (TfCD): Isang lungsod sa ilalim ng iyong tasa! Ang CityCoaster ay isang ipinanganak na proyekto na nag-iisip tungkol sa isang produkto para sa Rotterdam the Hague Airport, na maaaring ipahayag ang pagkakakilanlan ng lungsod, na inaaliw ang mga kliyente ng silid sa silid na may pinalawak na katotohanan. Sa isang kapaligiran tulad ng isang
Paano Bumuo ng isang Guitar Speaker Box o Bumuo ng Dalawang para sa Iyong Stereo .: 17 Mga Hakbang (na may Mga Larawan)
Paano Bumuo ng isang Guitar Speaker Box o Bumuo ng Dalawang para sa Iyong Stereo .: Nais kong isang bagong speaker ng gitara na pumunta sa tubo na itinatayo ko. Ang tagapagsalita ay mananatili sa aking tindahan kaya't hindi ito kailangang maging anumang espesyal. Ang takip ng Tolex ay maaaring napakadaling masira kaya't sinabog ko lang ang itim sa labas pagkatapos ng isang magaan na buhangin