Სარჩევი:
- ნაბიჯი 1: რატომ დოკერი?
- ნაბიჯი 2: Docker ოვერჰედის
- ნაბიჯი 3: დააინსტალირეთ დოკერი
- ნაბიჯი 4: შექმენით დოკერის სურათი
- ნაბიჯი 5: განვითარების მშენებლობის სიჩქარე Vs გამოსახულების ზომა
- ნაბიჯი 6: მრავალ თაღოვანი სურათები
- ნაბიჯი 7: ბედნიერი RPi
ვიდეო: შექმენით დოკერის სურათი ჟოლოს პიისთვის: 7 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ეს ინსტრუქცია გვიჩვენებს, თუ როგორ უნდა ავაშენოთ დოკერის სურათი ჟოლოსთვის.
ნაბიჯი 1: რატომ დოკერი?
თქვენ შეგიძლიათ გამოიყენოთ Raspberry Pi (RPi) ბევრი რამის გაკეთება, პატარა ვებ სერვერი, AI ასისტენტი, Robotics … და ა.
ბევრი პროექტი გსურთ სცადოთ, მაგრამ ტკივილის წერტილებია:
აშენების დრო
RPi არ არის დაინტერესებული გადამამუშავებელი ენერგიით და SD/USB დისკმა შეზღუდა IO სიჩქარე. გამოიყენეთ apt install all დამოკიდებულების პაკეტი მოითხოვს საათს და წყაროს შექმნას მეტი საათი. განსაკუთრებით AI– სთან დაკავშირებული პროექტებისთვის, დროა დაელოდოთ უფრო მეტს, ვიდრე დრო სცადოთ.
ვერსია კონფლიქტი
ყველამ სცადოს ბევრი პროექტი ერთ RPi– ში. როდესაც თქვენ სცადეთ პროექტი და გსურთ სხვაზე გადართვა, თქვენ შეიძლება აღმოაჩინოთ ზოგიერთი ჩავარდნა, რომელიც გამოწვეულია დამოკიდებულების ბიბლიოთეკების ვერსიით წინა პროექტთან კონფლიქტით. ზოგიერთი ბიბლიოთეკა წყვეტს განვითარებას რამდენიმე წლის წინ და დამოკიდებულია ძველ ბიბლიოთეკებზე. ამის საპირისპიროდ, აქტიური პროექტი დამოკიდებული იყო უახლეს ბიბლიოთეკებზე. ორივე პროექტი არ შეიძლება თანაარსებობდეს იმავე SD/USB დისკზე ?.
სურათის სარეზერვო ასლი
ვინაიდან ზოგიერთი პროექტი არ შეიძლება თანაარსებობდეს, უბრალოდ იყიდეთ მეტი SD/USB დისკი, რომ თითოეული პროექტის სურათი დამოკიდებული იყოს. თუ ფული არ არის შეზღუდული?. მაგრამ ეს ზრდის ფაილის/სურათის მართვის სირთულეებს, ზოგჯერ თქვენ გჭირდებათ გაცვლა SD/USB და ჩატვირთვა ბევრჯერ იმის გასარკვევად, რაც გსურთ.
გაზიარება რთულია
როდესაც თქვენ ააშენეთ თქვენი პროექტი და გსურთ გაუზიაროთ წყარო მეგობრებს, თქვენმა მეგობრებმა შეიძლება მიიღონ უკმარისობის აღდგენა. დისტრიბუციის/ბიბლიოთეკების ვერსია ძალიან ძველი ან ძალიან ახალი, პარამეტრების შედგენა და რამდენიმე ხრიკი. თქვენ უნდა დახარჯოთ დრო სხვების პრობლემების გადასაჭრელად, მაგრამ არ შეუწყოთ ხელი თავად პროექტს.
ზემოაღნიშნული ტკივილები არის ჩემი გამოცდილება ამ რამდენიმე წლის განმავლობაში. დოკერს შეუძლია ამის უმეტესობა დაეხმაროს.
დოკერი აშენებას იწყებს წინასწარ აშენებული მშობლის სურათის შერჩევით. Მაგალითად. debian: jessie-slim დასაწყისი ძველი სტაბილური დებიანის მსუბუქი წონის განაწილებიდან; კვანძი: 10-ბასტრიანი თხელი დაწყება დებიანის მსუბუქი წონის განაწილებიდან Node.js 10 დაყენებული. წინასწარ აშენებულ სურათს შეუძლია დაზოგოს ბევრი დრო სურათის გადასაღებად, განახლების მისაღებად და დამოკიდებული ბიბლიოთეკების დასაყენებლად. თითოეული პროექტი შეიძლება დაიწყოს OS– ს სხვადასხვა ვერსიიდან, runtime ვერსიიდან და ბიბლიოთეკების ვერსიიდან. როდესაც დაამთავრებთ საკუთარი პროექტის შემუშავებას, შეგიძლიათ დოკერის გამოსახულება გადაიტანოთ დოკერის ცენტრში და გაუზიაროთ ყველას. თქვენ შეგიძლიათ შეინახოთ პროექტის ყველა მონაცემი ერთსა და იმავე SD/USB- ზე (მონაცემები უნდა იყოს რუტინული სარეზერვო სხვა მედიისთვის). ადგილობრივი შენახვის შესანახად, თქვენ შეგიძლიათ გაასუფთაოთ დოკერის სურათი, როდესაც არ იყენებთ, ნებისმიერ დროს შეგიძლიათ კვლავ გაიყვანოთ დოკერის კერადან.
ნაბიჯი 2: Docker ოვერჰედის
დოკერმა დაამატა ერთი ვირტუალიზაციის ფენა, ოვერჰედის საზრუნავია. მე არ მაქვს ბევრი ტესტირება დოკერის ოვერჰედის შესახებ. ყველაზე გუგლირებული შედეგი აცხადებს ძალიან დაბალ ხარჯებს და მე აღმოვაჩინე ეს დოკუმენტი დაკავშირებული კვლევების შესახებ:
domino.research.ibm.com/library/cyberdig.n…
ნაბიჯი 3: დააინსტალირეთ დოკერი
უბრალოდ გაუშვით:
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/
მე მაქვს 2 პროექტი Docker– ის გამოყენებით, თქვენ შეგიძლიათ იპოვოთ Dockerfile როგორც მითითება:
BanateCAD მოითხოვს ლუას გაშვების დროს და დამატებით ლუას ბიბლიოთეკებს. მხოლოდ ლუა 5.1 -ს შეუძლია შეთავსებადი ყველა საჭირო ლუას ბიბლიოთეკასთან, მაგრამ ეს არის 2006 წ. ასე რომ, მე ავაშენე Lua 5.1 გარემო Docker Image მის გასაშვებად
github.com/moononournation/BanateCAD/tree/…
OpenCV არის აქტიურად განვითარებადი პროექტი, კოდის კოდი დამოკიდებულია უახლეს ბიბლიოთეკებზე და შემდგენელზე. ასე რომ, ძალიან დიდი შანსია ავაშენოთ წარუმატებელი, ბიბლიოთეკების მეთოდის ხელმოწერა, შემდგენლის ვერსია, დამოკიდებულების კონფლიქტი … მე მსურს გამოვიყენო opencv4nodejs მარტივი აპლიკაციის შესაქმნელად და არ საჭიროებს უახლეს ფუნქციებს. როდესაც ვიპოვე გზა opencv4nodejs წარმატების შესაქმნელად, მსურს გავყინო იგი Docker Image– ში და გავაკეთო ჩემი რეალური აპლიკაციის კოდირება
github.com/moononournation/face-aware-phot…
ნაბიჯი 5: განვითარების მშენებლობის სიჩქარე Vs გამოსახულების ზომა
თქვენ შეიძლება აღმოჩნდეთ, რომ ჩემს სახეზე გათვითცნობიერებულ ფოტო-ოსდის პროექტს აქვს Dockfile– ის 2 ვერსია:
github.com/moononournation/face-aware-phot…
განვითარების პროცესში, მე მომწონს გაყოფილი RUN ბრძანება რაც შეიძლება მცირე ზომის და მოვაწყობ სავარაუდოდ შეცვლის RUN ბრძანებას ბოლო საფეხურზე. ასე რომ, ყოველი ცვლილებისთვის, ცვლილებების შეტანისთვის, შემიძლია გამოვიყენო წინა აშენებული ფენა მაქსიმალურად და დაზოგო მშენებლობის სიჩქარე.
ამის საპირისპიროდ, მე გავაერთიანებ ყველა RUN ბრძანებას ერთში გამოშვებამდე. უფრო მცირე ფენას შეუძლია მნიშვნელოვნად შეამციროს დოკერის სურათის ზომა. ჩემი სახის გაცნობიერებული-ფოტო-ოსდის პროექტი, როგორც მაგალითად, მას შეუძლია 100 მბ-ზე მეტი ზომის შემცირება.
ნაბიჯი 6: მრავალ თაღოვანი სურათები
როგორც უკვე აღვნიშნეთ, RPi არ არის დაინტერესებული გადამამუშავებელი ენერგიით. გამოიყენეთ RPi build Docker სურათი შეიძლება არ იყოს კარგი არჩევანი, განსაკუთრებით მაშინ, როდესაც თქვენი ერთადერთი RPi სხვა პროექტებს მართავს.
გამოიყენეთ x86 კომპიუტერი ასევე დაგეხმარებათ დოკერის სურათის აგებაში, გთხოვთ იხილოთ უფრო დეტალური ინფორმაცია აქ:
www.docker.com/blog/multi-arch-images/
მარტივ 2 ბრძანებას შეუძლია შექმნას x86 და ARM Docker Image პარალელურად:
docker buildx create -use
docker buildx build-პლატფორმა linux/amd64, linux/arm -t moononournation/debian-imagemagick-lua-meshlab: 1.0.1-push.
Multi Arch– ს შეუძლია შექმნას მრავალ პლატფორმის სურათი ერთი და იგივე Docker გამოსახულების ტეგით, ასე რომ თქვენს პროექტს შეუძლია ჩაირთოს სხვადასხვა მანქანაში შეუფერხებლად. მაგალითად.
დოკერი გაშვება -ეს მთვარე
არ აქვს მნიშვნელობა თქვენ აწარმოებთ ზემოაღნიშნულ ბრძანებას RPi ან თქვენს x86 კომპიუტერზე, შეგიძლიათ მიიღოთ Lua გაშვების გარემო.
ნაბიჯი 7: ბედნიერი RPi
ახლა თქვენ შეგიძლიათ უფრო ადვილად შეიმუშაოთ და გააზიაროთ თქვენი RPi პროექტი!
გირჩევთ:
გათიშვის ღილაკი ჟოლოს პიისთვის: 3 ნაბიჯი
გათიშვის ღილაკი ჟოლოს Pi: Raspberry Pi არის ძალიან გამოთვლითი პლატფორმა, რომელიც საშუალებას გაძლევთ შექმნათ სხვადასხვა IoT/robotics/smart-home/… პროექტის პროგრამები. ერთი რამ, რაც მას არ აქვს, ჩვეულებრივ კომპიუტერთან შედარებით, არის გამორთვის გამორთვის ღილაკი. მაშ როგორ შეგვიძლია შევქმნათ
საიდუმლო წიგნის საქმე ჟოლოს პიისთვის: 5 ნაბიჯი
საიდუმლო წიგნის საქმე ჟოლოს პიისთვის: დღეს ჩვენ ვაპირებთ მოვამზადოთ საქმე თქვენი ჟოლოსთვის, რომელიც ჰგავს წიგნს. ამ სასწავლო მიზნისთვის დაგჭირდებათ: ჟოლო Pi წიგნი უფრო დიდი ვიდრე თქვენი Raspberry Pi უნივერსალური წებო საღებავის ფუნჯი (არა
Modifiy Taigen Airsoft სროლის განყოფილება ჟოლოს პიისთვის: 11 ნაბიჯი
Modifiy Taigen Airsoft Firing Unit for Raspberry Pi: Schematic ემყარება სქემატურ ინფორმაციას http://openpanzer.org/wiki/doku.php?id=wiki:tcb:tcbinstall:airsoft" ეს სქემა გვიჩვენებს განსხვავებას მარაგსა და შეცვლილ & quot შორის გაყვანილობას შორის ;
IOT BIT GSM V1.5 ქუდი ჟოლოს პიისთვის: 9 ნაბიჯი
IOT BIT GSM V1.5 ქუდი ჟოლოს Pi: IOT BIT არის საბოლოო ქუდი, რაც თქვენს Raspberry Pi- ს ნამდვილად გამოსადეგი გახდის ყველგან. ჩვენი ინტელექტუალური HAT მოდული უზრუნველყოფს GSM მობილური მონაცემებს ჟოლოს Pi, GPS პოზიციონირების ინფორმაციას და Bluetooth დაკავშირებადობას. ეს არის სრულყოფილი მოდული ჰაკერებისათვის
შეეხეთ დენის ღილაკს ჟოლოს პიისთვის: 3 ნაბიჯი
Touch Power Button for Raspberry Pi: მას შემდეგ რაც დავბეჭდე და დავიწყე ამ შემთხვევის გამოყენება ჩემი Retropie– სთვის, მე ყოველთვის წარმომედგინა როგორ გამეკეთებინა დენის ღილაკი. იდეა იყო დიზაინის შეცვლა გადაადგილების ღილაკზე და შემდეგ გადამრთველის გადატანა. ბოლოს მე მქონდა სხვა იდეა, სადაც არ მჭირდებოდა შემთხვევის შეცვლა