Мазмуну:

Raspberry Pi үчүн Docker Image түзүү: 7 кадам
Raspberry Pi үчүн Docker Image түзүү: 7 кадам

Video: Raspberry Pi үчүн Docker Image түзүү: 7 кадам

Video: Raspberry Pi үчүн Docker Image түзүү: 7 кадам
Video: How To Do Stable Diffusion LORA Training By Using Web UI On Different Models - Tested SD 1.5, SD 2.1 2024, Ноябрь
Anonim
Raspberry Pi үчүн Docker Image түзүү
Raspberry Pi үчүн Docker Image түзүү

Бул көрсөтмөлөр Raspberry Pi үчүн Docker сүрөтүн кантип курууну көрсөтөт.

1 -кадам: Эмне үчүн Докер?

Сиз Raspberry Pi (RPi) менен көп нерселерди жасай аласыз, кичинекей веб -сервер, AI жардамчысы, робототехника … ж.

Сиз сынап көргүңүз келген көптөгөн долбоорлор, бирок оору чекиттери:

Курууга убакыт

RPi иштетүү кубаттуулугуна кызыкдар эмес жана SD/USB диск IO ылдамдыгын чектеген. Бардык көз карандылык пакетине apt install колдонуу үчүн бир саат талап кылынат, ал эми булакты курууга көбүрөөк саат талап кылынат. Өзгөчө AI менен байланышкан долбоорлор үчүн, аракет кылуу үчүн убакыттан көбүрөөк күтүү убактысы.

Version Conflict

Ар бир адам бир RPiде көптөгөн долбоорлорду сынап көрөт. Долбоорду сынап көрүп, башкасына өтүүнү кааласаңыз, көз карандылык китепканаларынын версиясы мурунку долбоорго карама -каршы келгендиктен, кээ бир түзүлүштөрү иштебей калышы мүмкүн. Кээ бир китепканалар бир нече жыл мурун өнүгүүсүн токтотуп, кээ бир эски китепканалардан көз каранды. Ал эми, активдүү долбоор акыркы китепканалардан көз каранды болгон. Эки долбоор тең бир эле SD/USB дискинде чогуу жашай албайт?

Сүрөттүн камдык көчүрмөсү

Кээ бир долбоорлор бирге боло албагандыктан, ар бир долбоордун сүрөтүн көз каранды кылуу үчүн көбүрөөк SD/USB дискти сатып алыңыз. Эгерде акча чектелбесе? Бирок бул файлды/сүрөттү башкаруунун кыйынчылыктарын жогорулатат, кээде сиз каалаган нерсени билүү үчүн SD/USB алмаштырууну жана жүктөөнү көп жолу талап кыласыз.

Бөлүшүү кыйын

Долбооруңузду куруп, булакты досторуңуз менен бөлүшкүңүз келгенде, досторуңуз куруунун ийгиликсиз түрмөгүн кайтарып алышы мүмкүн. Бөлүштүрүү/китепканалардын версиясы өтө эски же өтө жаңы, курулуш параметрлери жана кээ бир амалдар. Башкалардын көйгөйлөрүн чечүү үчүн убакытты колдонуу керек, бирок долбоордун өзүн колдобош керек.

Жогорудагы оору пункттары менин бул бир нече жылдагы тажрыйбам. Докер анын көбүнө жардам бере алат.

Docker алдын ала курулган ата -эненин сүрөтүн тандоодон баштайт. Мисалы debian: jessie-slim эски стабилдүү Debian жеңил салмактан башталат; түйүн: Node.js 10 орнотулган Debian жеңил салмак бөлүштүрүүдөн 10-buster-сымбаттуу башталышы. Алдын ала курулган сүрөт флешке көп убакытты үнөмдөөгө, жаңыртууларды алууга жана көз каранды китепканаларды орнотууга жардам берет. Ар бир долбоор ар кандай OS версиясынан, иштөө убактысынан жана китепканалар версиясынан башталышы мүмкүн. Өзүңүздүн жеке долбооруңузду иштеп чыккандан кийин, сиз Docker сүрөтүн докер хабына түртүп, баарына бөлүшө аласыз. Долбоордун бардык маалыматтарын ошол эле SD/USBде сактай аласыз (маалыматтар башка медиага дайыма камдык көрүшү керек). Жергиликтүү сактагычты үнөмдөө үчүн, сиз Docker сүрөтүн колдонбогондо дагы тазалай аласыз, каалаган убакта Docker хабынан кайра тарта аласыз.

2 -кадам: Docker Overhead

Докер виртуалдаштыруунун бир катмарын кошту, кошумча чыгымдар тынчсыздандырат. Мен Докердин кошумча чыгымы жөнүндө өтө көп сынаган жокмун. Көпчүлүк 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 -кадам: Докердин сүрөтүн куруу

Сураныч, докер сүрөтүн куруу боюнча расмий колдонмону табыңыз:

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 -кадам: Өнүктүрүү ылдамдыгы Vs Сүрөт өлчөмү

Өнүктүрүү ылдамдыгы Vs Сүрөт өлчөмү
Өнүктүрүү ылдамдыгы Vs Сүрөт өлчөмү
Өнүктүрүү ылдамдыгы Vs Сүрөт өлчөмү
Өнүктүрүү ылдамдыгы Vs Сүрөт өлчөмү

Сиз менин жүзүмө тааныш-фото-osd долбоорумда Dockfileдин 2 версиясы бар экенин таба аласыз:

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

Иштеп жатканда мага RUN командасын мүмкүн болушунча кичине жактырам жана RUN командасын акыркы кадамга өзгөртүүгө аракет кылам. Ошентип, өнүгүүнү өзгөртүү үчүн ар бир курулуш үчүн, мен мурунку курулган катмарды мүмкүн болушунча колдонуп, курулуш ылдамдыгын үнөмдөй алам.

Тескерисинче, мен чыгаруунун алдында бардык RUN буйруктарын бириктирем. азыраак катмар Докер сүрөтүнүн көлөмүн бир топ кыскартат. Менин жүзүмө маалым болгон фото-osd долбоорум мисал катары 100 МБдан ашык өлчөмдү азайтат.

6 -кадам: Multi Arch Images

Multi Arch Images
Multi Arch Images

Жогоруда айтылгандай, RPi иштетүү кубаттуулугуна кызыкдар эмес. RPi куруу Docker сүрөтүн колдонуу, айрыкча, сиздин жалгыз RPiңиз башка долбоорлорду иштеп жаткан учурда, жакшы чечим болбошу мүмкүн.

X86 компьютерин колдонуңуз, ошондой эле Docker Image түзүүгө жардам берет, бул жерден көбүрөөк маалымат алыңыз:

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

жөнөкөй 2 буйрук параллелдүү түрдө x86 жана ARM Docker Image түзө алат:

docker buildx create --use

docker buildx build --platform linux/amd64, linux/arm -t moononournation/debian-imagemagick-lua-meshlab: 1.0.1 --push.

Multi Arch бир эле Docker сүрөт теги менен көп платформа сүрөтүн кура алат, ошондуктан сиздин проект башка машинада үзгүлтүксүз иштей алат. мис.

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

Жогорудагы буйрукту RPiде же x86 компьютериңизде иштетсеңиз да, Lua иштөө чөйрөсүн ала аласыз.

7 -кадам: бактылуу RPi

Сиз азыр RPi долбооруңузду оңой эле иштеп чыгып, бөлүшө аласыз!

Сунушталууда: