Агуулгын хүснэгт:

Raspberry Pi -д зориулсан Docker зургийг бүтээх: 7 алхам
Raspberry Pi -д зориулсан Docker зургийг бүтээх: 7 алхам

Видео: Raspberry Pi -д зориулсан Docker зургийг бүтээх: 7 алхам

Видео: Raspberry Pi -д зориулсан Docker зургийг бүтээх: 7 алхам
Видео: Маления, клинок Микеллы ► 18 Прохождение Elden Ring 2024, Арваннэгдүгээр
Anonim
Raspberry Pi -д зориулж Docker зураг бүтээх
Raspberry Pi -д зориулж Docker зураг бүтээх

Энэхүү зааварчилгаа нь Raspberry Pi -д зориулж Docker зураг хэрхэн бүтээхийг харуулав.

Алхам 1: Яагаад Докер гэж?

Та Raspberry Pi (RPi) ашиглан олон зүйлийг хийж болно, жижиг вэб сервер, хиймэл оюун ухааны туслах, робот техник гэх мэт.

Та хичээхийг хүсч буй олон төслүүд, гэхдээ өвдөлтийн цэгүүд нь:

Бүтээх цаг

RPi нь боловсруулалтын хүчийг сонирхдоггүй бөгөөд SD/USB хөтөч нь IO хурдыг хязгаарладаг. Apt install бүх хамаарлын багцыг ашиглахад нэг цаг, эх сурвалжийг бүтээхэд илүү их цаг шаардагдана. Ялангуяа хиймэл оюунтай холбоотой төслүүдийн хувьд туршиж үзэхээсээ илүү хүлээх цаг болжээ.

Хувилбарын зөрчилдөөн

Хүн бүр олон төслийг нэг RPi дээр туршиж үзээрэй. Та төслийг туршиж үзээд өөр төсөл рүү шилжихийг хүсч байгаа бол хараат байдлын номын сангийн хувилбар өмнөх төсөлтэй зөрчилдсөний улмаас зарим бүтэлгүйтэл гарч болзошгүй. Зарим номын сан хэдэн жилийн өмнө хөгжихөө больсон бөгөөд зарим хуучин номын сангаас хамаардаг. Үүний эсрэгээр идэвхтэй төсөл нь хамгийн сүүлийн үеийн номын сангаас хамаарна. Төсөл хоёулаа нэг SD/USB драйвер дээр зэрэгцэн оршиж чадахгүй байна уу?

Зургийн нөөцлөлт

Зарим төслүүд зэрэгцэн орших боломжгүй тул төслийн зураг тус бүрээс хамааралтай байхын тулд илүү их SD/USB диск худалдаж аваарай. Хэрэв мөнгө хязгаарлагдахгүй бол? Гэхдээ энэ нь файл/зургийн менежментийн хүндрэлийг нэмэгдүүлдэг, заримдаа та юу хүсч байгаагаа олж мэдэхийн тулд SD/USB своп, ачаалах шаардлагатай болдог.

Хуваалцахад хэцүү

Та төслөө бүтээж, эх сурвалжаа найзуудтайгаа хуваалцахыг хүсч байвал таны найзууд бүтэлгүйтсэн тэжээлийг буцааж авах боломжтой. Түгээлт/номын сангийн хувилбар нь хэт хуучин эсвэл хэт шинэ, параметрүүд болон зарим заль мэх. Бусдад тулгарч буй асуудлуудыг шийдвэрлэхийн тулд та цагийг ашиглах хэрэгтэй боловч төслийг өөрөө дэмжихгүй байх хэрэгтэй.

Дээрх өвдөлтийн цэгүүд бол энэ хэдэн жилийн турш миний туршлага юм. Доккер ихэнх тохиолдолд тусалж чадна.

Docker нь урьдчилан бүтээсэн эцэг эхийн зургийг сонгохоос эхэлнэ. Жишээлбэл debian: хуучин тогтвортой Debian хөнгөн жингийн хуваарилалтаас жесси-гоолиг эхлэл; зангилаа: Node.js 10-ийг суулгасан Debian-ийн хөнгөн жингийн хуваарилалтаас 10-гүйлтийн туранхай эхлэл. Урьдчилан бүтээсэн зураг нь дүрсийг асаах, шинэчлэх, хамааралтай номын санг суулгахад ихээхэн цаг хэмнэх болно. Төсөл бүр өөр OS хувилбар, ажиллах цагийн хувилбар болон номын сангийн хувилбараас эхэлж болно. Та өөрийн төслөө боловсруулж дуусмагц Docker -ийн зургийг докерын төв рүү түлхэж, хүн бүрт хуваалцах боломжтой. Та төслийн бүх өгөгдлийг нэг SD/USB дээр хадгалах боломжтой (өгөгдлийг бусад медиад нөөцлөх ёстой). Орон нутгийн хадгалах санг хэмнэхийн тулд та Docker -ийн зургийг ашиглахгүй байхдаа цэвэрлэж болно, хүссэн үедээ Docker төвөөс дахин татаж авах боломжтой.

Алхам 2: Докерын нэмэлт зардал

Докер виртуалчлах нэг давхарга нэмсэн нь нэмэлт асуудал юм. Би Docker -ийн нэмэлт зардлын талаар хэт их шалгалт хийгээгүй. Ихэнх Google -ийн үр дүн нь маш бага зардал шаарддаг бөгөөд би холбогдох зарим судалгааны талаар энэ баримт бичгийг олсон.

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

Алхам 3: Docker -ийг суулгана уу

Зүгээр л гүйх:

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

Лавлагаа:

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

docs.docker.com/get-started/

Алхам 4: Докерын зургийг бүтээх

Docker дүрсийг бүтээх албан ёсны гарын авлагыг эндээс авна уу.

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

Надад Docker ашигладаг 2 төсөл байгаа бөгөөд та Dockerfile -ийг лавлагаа болгон олж болно.

BanateCAD нь Lua -ийн ажиллах хугацаа болон Lua -ийн зарим нэмэлт номын санг шаарддаг. Зөвхөн Луа 5.1 нь шаардлагатай бүх Луа номын сантай нийцэх боломжтой боловч энэ нь 2006 оны бүтээгдэхүүн юм. Lua 5.1 -ийг амжилттай бүтээж чадах хамгийн сүүлийн үеийн Debian түгээлт бол Жесси (Одоогийн Debian хуучин тогтвортой байдлын өмнөх хувилбар) юм. Тиймээс би үүнийг ажиллуулахын тулд Lua 5.1 орчинтой Docker Image бүтээсэн

github.com/moononournation/BanateCAD/tree/…

OpenCV бол идэвхтэй хөгжиж буй төсөл бөгөөд эх код нь хамгийн сүүлийн үеийн номын сан, хөрвүүлэгчээс хамаарна. Тиймээс бүтэлгүйтсэн, номын сангийн аргын гарын үсэг, хөрвүүлэгчийн хувилбар, хамаарлын зөрчилдөөн үүсгэх магадлал өндөр байна … Би хамгийн сүүлийн үеийн функцуудыг шаарддаггүй энгийн програм хийхийн тулд opencv4nodejs програмыг ашиглахыг хүсч байна. Тиймээс би opencv4nodejs -ийн амжилтыг бий болгох арга замыг олж мэдээд үүнийг Docker Image болгон хааж, програмынхаа жинхэнэ кодчилолыг хийхийг хүсч байна

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

Алхам 5: Хөгжүүлэлтийн хурд ба зургийн хэмжээ

Хөгжүүлэлтийн хурд ба зурагны хэмжээ
Хөгжүүлэлтийн хурд ба зурагны хэмжээ
Хөгжүүлэлтийн хурд ба зурагны хэмжээ
Хөгжүүлэлтийн хурд ба зурагны хэмжээ

Миний нүүр царайг мэддэг фото-osd төсөл нь Dockfile-ийн 2 хувилбартай болохыг та олж мэдэх болно.

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

Хөгжүүлэлтийн явцад би RUN хуваах тушаалыг аль болох бага дуртай бөгөөд RUN командыг сүүлийн алхам болгон өөрчлөх магадлалтай. Тиймээс хөгжлийн өөрчлөлт хийх бүтцийн хувьд би өмнөх бүтээсэн давхаргыг аль болох их ашиглаж, бүтээх хурдыг хэмнэж чадна.

Үүний эсрэгээр, би суллахаасаа өмнө бүх RUN командыг нэг дор нэгтгэх болно. бага давхарга нь Docker Image -ийн хэмжээг их хэмжээгээр бууруулдаг. Миний нүүр царайг мэддэг фото-osd төслийг жишээ болгон авч үзвэл 100 МБ-аас их хэмжээтэй хэмжээг бууруулах боломжтой.

Алхам 6: Олон нуман зураг

Олон нуман зураг
Олон нуман зураг

Өмнө дурьдсанчлан, RPi нь боловсруулах хүчин чадлыг сонирхдоггүй. RPi бүтээх Docker зургийг ашиглах нь тийм ч сайн сонголт биш байж магадгүй, ялангуяа таны ганц RPi өөр төсөл хэрэгжүүлж байгаа үед.

X86 компьютер ашиглана уу, энэ нь Docker зураг бүтээхэд тусална, эндээс дэлгэрэнгүй мэдээллийг авна уу.

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

Энгийн 2 командаар x86 болон ARM Docker Image -ийг зэрэгцүүлэн бүтээх боломжтой.

docker buildx үүсгэх -ашиглах

docker buildx build-платформ linux/amd64, linux/arm -t moononournation/debian-imagemagick-lua-meshlab: 1.0.1-түлхэх.

Multi Arch нь ижил Docker зургийн шошго бүхий олон платформ дүрсийг бүтээх боломжтой тул таны төсөл өөр машин дээр тасралтгүй ажиллах боломжтой болно. жишээ нь

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

Дээрх тушаалыг RPi эсвэл x86 компьютер дээрээ ажиллуулж байгаагаас үл хамааран Lua ажиллах цагийн орчныг авах боломжтой.

Алхам 7: Аз жаргалтай RPi

Та одоо RPi төслөө илүү хялбар боловсруулж, хуваалцах боломжтой боллоо!

Зөвлөмж болгож буй: