Mündəricat:
- Addım 1: Niyə Docker?
- Addım 2: Docker Overhead
- Addım 3: Docker qurun
- Addım 4: Docker Görüntüsünün Yaradılması
- Addım 5: İnkişaf Sürəti Vs Şəkil Ölçüsü
- Addım 6: Çox Arxalı Şəkillər
- Addım 7: Xoşbəxt RPi
Video: Raspberry Pi üçün Docker Görüntüsü yaradın: 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Bu təlimatlar, Raspberry Pi üçün Docker Image necə qurulacağını göstərir.
Addım 1: Niyə Docker?
Raspberry Pi -dən (RPi) çox şey edə bilərsiniz, kiçik bir veb server, AI köməkçisi, Robototexnika və s.
Sınamaq istədiyiniz bir çox layihə, ancaq ağrılı məqamlar bunlardır:
Qurmaq Vaxtı
RPi işləmə gücünə maraq göstərmir və SD/USB sürücüsü IO sürətini məhdudlaşdırır. Apt install bütün bağımlılık paketini bir saat tələb edir və mənbənin qurulması daha çox saat tələb edir. Xüsusilə AI ilə əlaqəli layihələr üçün sınamaq üçün daha çox gözləmək vaxtıdır.
Versiya qarşıdurması
Hər kəs bir RPi -də bir çox layihəni sınayır. Bir layihəni sınadığınızda və başqa bir layihəyə keçmək istədiyiniz zaman, asılılıq kitabxanalarının əvvəlki layihə ilə ziddiyyət təşkil etdiyi bəzi quruluş uğursuzluqlarını görə bilərsiniz. Bəzi kitabxanalar bir neçə il əvvəl inkişaf etməyi dayandırır və çox köhnə kitabxanalardan asılıdır. Əksinə, aktiv layihə ən son kitabxanalardan asılı idi. Hər iki layihə eyni SD/USB sürücüsündə birlikdə mövcud ola bilməz?
Şəkil Yedəkləmə
Bəzi layihələr birlikdə mövcud ola bilmədiyi üçün, hər bir layihənin görüntüsünü asılı saxlamaq üçün daha çox SD/USB sürücüsü satın alın. Pul məhdud deyilsə? Ancaq fayl/görüntü idarəçiliyinin çətinliyini artırır, bəzən nə istədiyinizi öyrənmək üçün SD/USB dəyişdirmək və dəfələrlə açmaq lazımdır.
Paylaşmaq Çətindir
Layihənizi qurduğunuzda və mənbəni dostlarınızla bölüşmək istədiyiniz zaman, dostlarınız quruluşu uğursuz olan yemi geri ala bilərlər. Dağıtım/kitabxana versiyası çox köhnə və ya çox yeni, bina parametrləri və bəzi fəndlər. Başqalarının problemlərini həll etmək üçün vaxt sərf etməlisiniz, ancaq layihənin özünü dəstəkləməməlisiniz.
Yuxarıdakı ağrı nöqtələri bu bir neçə ildə yaşadığım təcrübədir. Docker çox kömək edə bilər.
Docker, əvvəlcədən qurulmuş bir ana şəkli seçərək qurmağa başlayır. Məsələn, debian: köhnə sabit bir Debian yüngül paylamasından jessie-slim başlanğıcı; node: Node.js 10 quraşdırılmış, Debian yüngül çəki paylamasından 10-buster-incə başlanğıc. Əvvəlcədən qurulmuş şəkil, görüntünü işıqlandırmaq, yeniləmək və asılı kitabxanaları quraşdırmaq üçün çox vaxta qənaət edə bilər. Hər bir layihə fərqli OS versiyasından, iş vaxtı versiyasından və kitabxana versiyasından başlaya bilər. Öz layihənizi hazırlamağı bitirdikdən sonra Docker görüntüsünü docker mərkəzinə itələyib hər kəslə paylaşa bilərsiniz. Bütün layihə məlumatlarını eyni SD/USB -də saxlaya bilərsiniz (məlumatlar digər mediaya müntəzəm olaraq yedeklənməlidir). Yerli yaddaşa qənaət etmək üçün istifadə etmədiyiniz zaman Docker görüntüsünü təmizləyə bilərsiniz, istədiyiniz vaxt Docker mərkəzindən yenidən çəkə bilərsiniz.
Addım 2: Docker Overhead
Docker bir virtualizasiya qatını əlavə etdi, əlavə xərclər narahatlıq doğurur. Docker yükü ilə əlaqədar çox şey sınamamışam. Əksər Googled nəticələr çox aşağı xərc olduğunu iddia edir və bu sənədi bəzi əlaqədar araşdırmalarla əlaqədar tapdım:
domino.research.ibm.com/library/cyberdig.n…
Addım 3: Docker qurun
Sadəcə işləyin:
curl -sSL https://get.docker.com | ş
İstinad:
www.raspberrypi.org/blog/docker-comes-to-…
docs.docker.com/get-started/
Addım 4: Docker Görüntüsünün Yaradılması
Zəhmət olmasa docker görüntüsünün qurulması ilə bağlı rəsmi bələdçini tapın:
docs.docker.com/get-started/part2/
Docker istifadə edən 2 layihəm var, Dockerfile -ə istinad olaraq tapa bilərsiniz:
BanateCAD, Lua iş vaxtı və bəzi əlavə Lua kitabxanalarını tələb edir. Yalnız Lua 5.1 bütün tələb olunan Lua kitabxanalarına uyğun gələ bilər, ancaq 2006 -cı ilin məhsuludur. Lua 5.1 müvəffəqiyyətini qura bilən ən son Debian dağılımı Jessie'dir (indiki Debian köhnə sabitdən əvvəlki versiya). İşlətmək üçün Lua 5.1 mühiti Docker Image qurdum
github.com/moononournation/BanateCAD/tree/…
OpenCV aktiv şəkildə inkişaf edən bir layihədir, mənbə kodu ən son kitabxanalardan və tərtibçidən asılıdır. Buna görə uğursuz, kitabxana metodu imzası, tərtibçi versiyası, asılılıq ziddiyyəti qurmaq çox yüksək bir şansdır … Sadə bir tətbiq etmək üçün opencv4nodejs istifadə etmək istəyirəm və ən son xüsusiyyətlərə ehtiyac yoxdur. Opencv4nodejs müvəffəqiyyəti qurmağın bir yolunu tapdığımda, onu bir Docker Şəklində dondurmaq və faktiki tətbiq kodlamamı etmək istərdim
github.com/moononournation/face-aware-phot…
Addım 5: İnkişaf Sürəti Vs Şəkil Ölçüsü
Üz-xəbərdar-foto-osd layihəmin Dockfile-in 2 versiyasına sahib olduğunu görə bilərsiniz:
github.com/moononournation/face-aware-phot…
İnkişaf edərkən, bölünmüş RUN əmrini mümkün qədər kiçik sevirəm və çox güman ki, RUN əmrini son addıma dəyişəcəyəm. İnkişaf dəyişikliyi üçün hər bir quruluş üçün, əvvəlki qurulmuş qatdan mümkün qədər istifadə edə bilərəm və çox qurma sürətinə qənaət edə bilərəm.
Əksinə, buraxmadan əvvəl bütün RUN əmrlərini bir yerdə birləşdirəcəyəm. kiçik təbəqə Docker Image ölçüsünü çox azalda bilər. Nümunə olaraq, mənim üzümdən xəbərdar olan foto-osd layihəm 100 MB-dan çox ölçüləri azalda bilər.
Addım 6: Çox Arxalı Şəkillər
Daha əvvəl qeyd edildiyi kimi, RPi emal gücünə maraq göstərmir. RPi qurma Docker görüntüsünü istifadə etmək yaxşı bir seçim olmaya bilər, xüsusən də yalnız RPi başqa bir layihə işlədərkən.
X86 kompüterindən istifadə etmək də Docker Görüntüsünü yaratmağınıza kömək edə bilər, lütfən burada daha ətraflı məlumat tapa bilərsiniz:
www.docker.com/blog/multi-arch-images/
sadə 2 əmr paralel olaraq x86 və ARM Docker Image qura bilər:
docker buildx yaratmaq -istifadə edin
docker buildx build --platform linux/amd64, linux/arm -t moononournation/debian-imagemagick-lua-meshlab: 1.0.1-itələyin.
Multi Arch, eyni Docker görüntü etiketiylə çox platformalı bir şəkil qura bilər, buna görə də layihəniz fərqli bir maşında sorunsuz işləyə bilər. məs.
docker run -on aydabirnot/debian-imagemagick-lua-meshlab: 1.0.1
Yuxarıdakı əmri RPi və ya x86 kompüterinizdə işə salmağınızdan asılı olmayaraq, bir Lua iş vaxtı mühiti əldə edə bilərsiniz.
Addım 7: Xoşbəxt RPi
İndi RPi layihənizi daha asan inkişaf etdirə və paylaşa bilərsiniz!
Tövsiyə:
Garmin GPS üçün Xüsusi Xəritələr yaradın: 8 Addım (Şəkillərlə birlikdə)
Garmin GPS üçün Xüsusi Xəritələr yaradın: Yürüyüş və digər açıq fəaliyyətlər üçün nəzərdə tutulmuş bir Garmin GPSiniz varsa (GPSMAP, eTrex, Colorado, Dakota, Oregon və Montana seriyası da daxil olmaqla), buna ehtiyac yoxdur. əvvəlcədən yüklənmiş çılpaq sümük xəritələri üçün qərar verin. E
Pilləkənlər üçün İnteraktiv LED Sistemi yaradın: 7 addım
Pilləkənlər üçün İnteraktiv LED Sistemi yaradın: Evdə bir pilləkən var. Cəmiyyətdə bir çox pilləkən yeniləmə layihəsini görmək çox maraqlıdır. Bu yaxınlarda çox məşğul deyiləm, buna görə evdə pilləkənləri dəyişdirmək və bəzi qarşılıqlı əlaqə yaratmaq üçün bəzi açıq mənbəli hardware modullarından istifadə etmək qərarına gəldim
Şirkətinizdə əmək haqqı hazırlamaq üçün Ms Access Veritabanı Proqramı yaradın: 6 addım
Şirkətinizdə əmək haqqı hazırlamaq üçün Ms Access Verilənlər Bazası Proqramı yaradın: Sizə aylıq əmək haqqı yaratmaq və bununla əmək haqqı kartlarını asanlıqla çap etmək üçün MS -dən istifadə edərək əmək haqqı sistemi yaratmaq üçün qısa təlimat verəcəyəm. Bu yolla hər ay əmək haqqı məlumatlarının qeydlərini verilənlər bazası altında saxlaya və gec redaktə edə və ya nəzərdən keçirə bilərsiniz
ESP32 COVID19 DURUM GÖRÜNTÜSÜ: 4 addım
ESP32 COVID19 DURUM GÖRÜNTÜSÜ: Bu layihə sadəcə json formatında COCID19 statusunu alır və OLED -də göstərir
Kilidsiz qalmaq üçün Android/IOS/WIN10 cihazları üçün təhlükəsiz bir zona yaradın: 6 addım
Android/IOS/WIN10 Cihazları üçün Kilidsiz qalmaq üçün Təhlükəsiz Zona yaradın: Bu yazıda, cihazlarınızın kilidini açmaq üçün təhlükəsiz bir zona edə biləcək sərin bir gadget etmək istəyirik. Bu layihənin sonunda siz: Barmaq izi sensoru istifadə etməyi öyrənəcəksiniz. Cihazlarınızı təhlükəsiz zona gadgetınızla necə birləşdirəcəyinizi öyrənəcəksiniz