Мазмұны:

Raspberry Pi үшін Docker кескінін жасаңыз: 7 қадам
Raspberry Pi үшін Docker кескінін жасаңыз: 7 қадам

Бейне: Raspberry Pi үшін Docker кескінін жасаңыз: 7 қадам

Бейне: Raspberry Pi үшін Docker кескінін жасаңыз: 7 қадам
Бейне: BTT - Manta E3EZ - CB1 with EMMc install 2024, Қараша
Anonim
Raspberry Pi үшін Docker кескінін жасаңыз
Raspberry Pi үшін Docker кескінін жасаңыз

Бұл нұсқаулар Raspberry Pi үшін Docker кескінін қалай жасау керектігін көрсетеді.

1 -қадам: Неліктен Докер?

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

Сіз сынап көргіңіз келетін көптеген жобалар, бірақ ауырсыну нүктелері:

Құру уақыты

RPi өңдеу қуатын қажет етпейді, ал SD/USB дискісі IO жылдамдығын шектеді. Apt install барлық тәуелділік бумасы бір сағатты, ал көзді құруға көп сағатты қажет етеді. Әсіресе АИ -ге қатысты жобалар үшін, сынап көру үшін күткеннен де көп уақыт қажет.

Нұсқа қайшылығы

Барлығы бір RPi -де көптеген жобаларды қолданады. Сіз жобаны қолданып көргенде және басқа жобаға ауысқыңыз келсе, сіз тәуелділік кітапханаларының нұсқасы алдыңғы жобаға қайшы келгендіктен құрастырудың кейбір сәтсіздіктерін таба аласыз. Кейбір кітапханалар бірнеше жыл бұрын дамуын тоқтатады және кейбір ескі кітапханаларға тәуелді. Керісінше, белсенді жоба соңғы кітапханаларға тәуелді болды. Екі жоба да бір SD/USB дискісінде бірге бола алмайды ма?

Кескіннің сақтық көшірмесі

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

Бөлісу қиын

Сіз өзіңіздің жобаңызды жасаған кезде және көзді достарыңызбен бөліскіңіз келсе, сіздің достарыңыз құрастырудың сәтсіз арнасын қайтаруы мүмкін. Дистрибуция/кітапханалар нұсқасы тым ескі немесе тым жаңа, параметрлер мен кейбір амалдар. Басқалардың мәселелерін шешу үшін уақытты пайдалану керек, бірақ жобаның өзін қолдамау керек.

Жоғарыда келтірілген ауырсыну нүктелері - бұл менің бірнеше жылдардағы тәжірибем. Докер көп жағдайда көмектесе алады.

Docker құрастыруды алдын ала салынған ата -аналық суретті таңдаудан бастайды. Мысалы, debian: ескі тұрақты Debian жеңіл салмағынан джесси-жұқа бастама; түйін: Node.js 10 орнатылған Debian жеңіл салмағының таралуынан басталатын жұқа бастама. Алдын ала салынған сурет кескінді жарқылдауға, жаңартуға және тәуелді кітапханаларды орнатуға көп уақытты үнемдей алады. Әр жоба ОЖ нұсқасынан, жұмыс уақыты нұсқасынан және кітапханалар нұсқасынан басталуы мүмкін. Сіз өзіңіздің жеке жобаңызды әзірлеуді аяқтағаннан кейін, Docker кескінін докер хабына итеріп, барлығымен бөлісе аласыз. Сіз барлық жоба деректерін бір SD/USB -де сақтай аласыз (деректер басқа тасымалдаушыларға сақтық көшірмесін жасауы керек). Жергілікті жадты сақтау үшін сіз Docker кескінін қолданбаған кезде де тазалай аласыз, кез келген уақытта Docker хабынан қайта тартуға болады.

2 -қадам: Docker Overhead

Докер виртуализацияның бір қабатын қосты, үстеме шығын алаңдатады. Мен 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 -қадам: Докер кескінін құру

Докер кескінін құру бойынша ресми нұсқаулықты табыңыз:

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

Менде Docker қолданатын 2 жоба бар, сіз сілтеме ретінде Dockerfile таба аласыз:

BanateCAD Lua жұмыс уақытын және Lua кітапханаларын қосуды талап етеді. Тек Lua 5.1 барлық қажетті Lua кітапханаларына сәйкес келеді, бірақ ол 2006 жылдың өнімі. Lua 5.1 табысын құра алатын соңғы Debian дистрибутиві - Джесси (қазіргі Debian ескі тұрақтан бұрынғы нұсқасы). Мен оны іске қосу үшін Lua 5.1 Docker Image ортасын құрдым

github.com/moononournation/BanateCAD/tree/…

OpenCV - белсенді дамып келе жатқан жоба, бастапқы код соңғы кітапханалар мен компиляторға байланысты. Сәтсіз, кітапханалар әдісінің қолтаңбасы, компилятор нұсқасы, тәуелділік конфликті құрудың жоғары мүмкіндігі … Мен қарапайым қосымшаны жасау үшін opencv4nodejs қолданғым келеді және соңғы мүмкіндіктерді қажет етпейді. Мен opencv4nodejs табысын құрудың жолын тапқан кезде, мен оны Docker кескініне қатырып, қосымшаның нақты кодын жасағым келеді

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

5 -қадам: Өндіріс жылдамдығы мен сурет өлшемі

Даму жылдамдығы мен сурет өлшемі
Даму жылдамдығы мен сурет өлшемі
Даму жылдамдығы мен сурет өлшемі
Даму жылдамдығы мен сурет өлшемі

Сіз менің facebook-photo-osd жобасында Dockfile-дің 2 нұсқасы бар екенін таба аласыз:

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

Әзірлеу кезінде маған RUN бөлу командасы мүмкіндігінше ұнады және RUN пәрменін соңғы қадамға өзгертуді реттеймін. Сондықтан дамудың өзгеруі үшін әрбір құрылым үшін мен алдыңғы салынған қабатты мүмкіндігінше қолдана аламын және құрылыс жылдамдығын үнемдей аламын.

Керісінше, мен барлық RUN командаларын шығарар алдында біріктіремін. кіші қабат Docker Image өлшемін едәуір кішірейтуі мүмкін. Мысал ретінде менің face -areness-photo-osd жобасы 100 МБ-тан астам көлемді кішірейте алады.

6 -қадам: Мульти аркалық кескіндер

Multi Arch суреттері
Multi Arch суреттері

Жоғарыда айтылғандай, RPi өңдеу қуатына қызығушылық танытпайды. RPi build Docker кескінін қолдану жақсы таңдау болмауы мүмкін, әсіресе сіздің жалғыз RPi басқа жобаларды іске қосқанда.

X86 компьютерін пайдалану Docker кескінін жасауға көмектеседі, толығырақ мына жерден біліңіз:

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

қарапайым 2 команда x86 мен ARM Docker кескінін параллель құра алады:

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 кескін тегімен көп платформалы кескін жасай алады, сондықтан сіздің жобаңыз басқа машинада үздіксіз жұмыс істей алады. мысалы

докер жүгіру-бұл айлық той/debian-imagemagick-lua-meshlab: 1.0.1

Жоғарыда көрсетілген команданы RPi немесе x86 компьютерінде іске қоссаңыз да, сіз Lua жұмыс уақыты ортасын ала аласыз.

7 -қадам: RPi бақытты

Енді сіз RPi жобаңызды оңай өңдей аласыз және бөлісе аласыз!

Ұсынылған: