विषयसूची:
- चरण 1: डॉकर क्यों?
- चरण 2: डॉकर ओवरहेड
- चरण 3: डॉकर स्थापित करें
- चरण 4: डोकर छवि का निर्माण
- चरण 5: डेवलपमेंट बिल्ड स्पीड बनाम इमेज साइज
- चरण 6: मल्टी आर्क इमेज
- चरण 7: हैप्पी आरपीआई
वीडियो: रास्पबेरी पाई के लिए डॉकर इमेज बनाएं: 7 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
यह निर्देश दिखाता है कि रास्पबेरी पाई के लिए डॉकर छवि कैसे बनाई जाए।
चरण 1: डॉकर क्यों?
आप रास्पबेरी पाई (आरपीआई) का उपयोग कई काम कर सकते हैं, छोटे वेब सर्वर, एआई सहायक, रोबोटिक्स … आदि।
आप कई परियोजनाओं को आजमाना चाहते हैं, लेकिन दर्द बिंदु हैं:
निर्माण का समय
आरपीआई प्रसंस्करण शक्ति के लिए उत्सुक नहीं है, और एसडी/यूएसबी ड्राइव ने आईओ गति को सीमित कर दिया है। उपयुक्त इंस्टॉल का उपयोग करें सभी निर्भरता पैकेज के लिए एक घंटे की आवश्यकता होती है और स्रोत के निर्माण के लिए अधिक घंटों की आवश्यकता होती है। विशेष रूप से एआई से संबंधित परियोजनाओं के लिए, प्रयास करने के लिए समय से अधिक प्रतीक्षा करने का समय।
संस्करण संघर्ष
हर कोई एक आरपीआई में कई परियोजनाओं की कोशिश करता है। जब आपने किसी प्रोजेक्ट की कोशिश की है और किसी अन्य पर स्विच करना चाहते हैं, तो आप पिछले प्रोजेक्ट के साथ निर्भरता लाइब्रेरी संस्करण संघर्ष के कारण कुछ बिल्ड विफल हो सकते हैं। कुछ पुस्तकालय कुछ साल पहले विकसित होना बंद कर देते हैं और कुछ बहुत पुराने पुस्तकालयों पर निर्भर होते हैं। इसके विपरीत, सक्रिय परियोजना नवीनतम पुस्तकालयों पर निर्भर थी। दोनों प्रोजेक्ट एक ही एसडी/यूएसबी ड्राइव में सह-अस्तित्व में नहीं हो सकते हैं?
छवि बैकअप
चूंकि कुछ परियोजनाएं सह-अस्तित्व में नहीं हो सकती हैं, इसलिए प्रत्येक प्रोजेक्ट छवि को निर्भर रखने के लिए बस अधिक एसडी/यूएसबी ड्राइव खरीदें। अगर पैसा सीमित नहीं है?. लेकिन यह फ़ाइल/छवि प्रबंधन की कठिनाइयों को बढ़ाता है, कभी-कभी आपको स्वैप एसडी/यूएसबी की आवश्यकता होती है और आप जो चाहते हैं उसे खोजने के लिए कई बार बूट करते हैं।
साझा करना मुश्किल
जब आपने अपना प्रोजेक्ट बनाया और दोस्तों को स्रोत साझा करना चाहते हैं, तो आपके दोस्तों को बिल्ड विफल फ़ीड बैक मिल सकता है। वितरण/पुस्तकालय संस्करण बहुत पुराना या बहुत नया, निर्माण पैरामीटर और कुछ तरकीबें। आपको दूसरों की समस्याओं को हल करने के लिए समय का उपयोग करने की आवश्यकता है, लेकिन स्वयं परियोजना का समर्थन नहीं करना चाहिए।
उपरोक्त दर्द बिंदु इस कुछ वर्षों में मेरा अनुभव है। डॉकर इसमें सबसे ज्यादा मदद कर सकता है।
डॉकर एक पूर्वनिर्मित मूल छवि का चयन करके निर्माण शुरू करता है। उदा. डेबियन: जेसी-स्लिम एक पुराने स्थिर डेबियन हल्के वजन वितरण से शुरू होता है; नोड: 10-बस्टर-स्लिम डेबियन लाइट वेट डिस्ट्रीब्यूशन से शुरू होता है जिसमें Node.js 10 स्थापित होता है। पूर्वनिर्मित छवि छवि को फ्लैश करने, अद्यतन प्राप्त करने और निर्भर पुस्तकालयों को स्थापित करने में अधिक समय बचा सकती है। प्रत्येक प्रोजेक्ट विभिन्न ओएस संस्करण, रनटाइम संस्करण और पुस्तकालय संस्करण से शुरू हो सकता है। जब आप अपना प्रोजेक्ट विकसित करना समाप्त कर लेते हैं, तो आप डॉकर छवि को डॉक हब में धकेल सकते हैं और सभी को साझा कर सकते हैं। आप सभी प्रोजेक्ट डेटा को एक ही एसडी/यूएसबी पर रख सकते हैं (डेटा को अन्य मीडिया में नियमित बैकअप लेना चाहिए)। स्थानीय भंडारण को बचाने के लिए, आप उपयोग न करने पर भी डॉकर छवि को साफ कर सकते हैं, कभी भी आप डॉकर हब से फिर से खींच सकते हैं।
चरण 2: डॉकर ओवरहेड
डॉकर ने एक वर्चुअलाइज़ परत जोड़ी, ओवरहेड एक चिंता का विषय है। मैंने डॉकर ओवरहेड के बारे में बहुत अधिक परीक्षण नहीं किया है। अधिकांश Googled परिणाम बहुत कम ओवरहेड का दावा करते हैं और मुझे यह दस्तावेज़ कुछ संबंधित शोधों के बारे में मिला:
domino.research.ibm.com/library/cyberdig.n…
चरण 3: डॉकर स्थापित करें
बस चलाएं:
कर्ल-एसएसएल 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 का उत्पाद है। नवीनतम डेबियन वितरण जो लुआ 5.1 सफलता का निर्माण कर सकता है वह जेसी (वर्तमान डेबियन पुराने स्थिर से पहले का संस्करण) है। इसलिए मैंने इसे चलाने के लिए लुआ 5.1 पर्यावरण डॉकर छवि बनाई।
github.com/moononournation/BanateCAD/tree/…
OpenCV एक सक्रिय रूप से विकासशील परियोजना है, स्रोत कोड नवीनतम पुस्तकालयों और संकलक पर निर्भर करता है। तो यह असफल, पुस्तकालय विधि हस्ताक्षर, संकलक संस्करण, निर्भरता संघर्ष बनाने का बहुत अधिक मौका है … मैं एक साधारण ऐप बनाने के लिए opencv4nodejs का उपयोग करना चाहता हूं और नवीनतम सुविधाओं की आवश्यकता नहीं है। तो जब मुझे opencv4nodejs सफलता बनाने का कोई तरीका मिला, तो मैं इसे डॉकर छवि में जमा करना चाहता हूं और मेरी वास्तविक एप्लिकेशन कोडिंग करना चाहता हूं।
github.com/moononournation/face-aware-photo…
चरण 5: डेवलपमेंट बिल्ड स्पीड बनाम इमेज साइज
आप पा सकते हैं कि मेरे फेस-अवेयर-फोटो-ओएसडी प्रोजेक्ट में डॉकफाइल के 2 संस्करण हैं:
github.com/moononournation/face-aware-photo…
विकास के दौरान, मुझे RUN कमांड को जितना संभव हो सके विभाजित करना पसंद है और RUN कमांड को अंतिम चरण में बदलने की सबसे अधिक संभावना है। तो विकास परिवर्तन के लिए प्रत्येक निर्माण के लिए, मैं जितना संभव हो सके पिछली निर्मित परत का उपयोग कर सकता हूं और अधिक निर्माण गति को बचा सकता हूं।
इसके विपरीत, मैं रिलीज से पहले सभी रन कमांड को एक में जोड़ दूंगा। कम परत डॉकर छवि आकार को काफी कम कर सकती है। मेरा फेस-अवेयर-फोटो-ओएसडी प्रोजेक्ट उदाहरण के रूप में यह आकार में 100 एमबी से अधिक कम कर सकता है।
चरण 6: मल्टी आर्क इमेज
जैसा कि पहले उल्लेख किया गया है, आरपीआई प्रसंस्करण शक्ति के लिए उत्सुक नहीं है। आरपीआई बिल्ड डॉकर छवि का उपयोग करना एक अच्छा विकल्प नहीं हो सकता है, खासकर जब आपका एकमात्र आरपीआई अन्य प्रोजेक्ट चला रहा हो।
एक x86 कंप्यूटर का उपयोग करें जो आपको डॉकर छवि बनाने में भी मदद कर सकता है, कृपया यहां अधिक विवरण प्राप्त करें:
www.docker.com/blog/multi-arch-images/
साधारण 2 कमांड समानांतर में x86 और ARM डॉकर इमेज बना सकते हैं:
डॉकर बिल्डएक्स क्रिएट --यूज
डॉकर बिल्डएक्स बिल्ड --प्लेटफॉर्म लिनक्स/एएमडी 64, लिनक्स/आर्म-टी मूनोनर्नेशन/डेबियन-इमेजमैजिक-लुआ-मेशलैब: 1.0.1 --पुश।
मल्टी आर्क एक ही डॉकर इमेज टैग के साथ मल्टी प्लेटफॉर्म इमेज बना सकता है, जिससे आपका प्रोजेक्ट अलग-अलग मशीन में निर्बाध रूप से चल सकता है। जैसे
डॉकर रन-इट मूननोर्नेशन/डेबियन-इमेजमैजिक-लुआ-मेशलैब:1.0.1
कोई फर्क नहीं पड़ता कि आप आरपीआई या अपने x86 कंप्यूटर पर उपरोक्त आदेश चलाते हैं, आप लुआ रनटाइम वातावरण प्राप्त कर सकते हैं।
चरण 7: हैप्पी आरपीआई
अब आप अपनी आरपीआई परियोजना को और अधिक आसानी से विकसित और साझा कर सकते हैं!
सिफारिश की:
रास्पबेरी पाई के साथ इमेज प्रोसेसिंग: ओपनसीवी और इमेज कलर सेपरेशन स्थापित करना: 4 कदम
रास्पबेरी पाई के साथ इमेज प्रोसेसिंग: ओपनसीवी और इमेज कलर सेपरेशन स्थापित करना: यह पोस्ट कई इमेज प्रोसेसिंग ट्यूटोरियल्स में से पहला है जिसका पालन करना है। हम एक छवि बनाने वाले पिक्सेल पर करीब से नज़र डालते हैं, सीखते हैं कि रास्पबेरी पाई पर ओपनसीवी कैसे स्थापित करें और हम एक छवि को कैप्चर करने के लिए परीक्षण स्क्रिप्ट भी लिखते हैं और सी
रास्पबेरी पाई के साथ एलईडी ब्लिंक - रास्पबेरी पाई पर GPIO पिन का उपयोग कैसे करें: 4 कदम
रास्पबेरी पाई के साथ एलईडी ब्लिंक | रास्पबेरी पाई पर GPIO पिन का उपयोग कैसे करें: हाय दोस्तों इस निर्देश में हम सीखेंगे कि रास्पबेरी पाई के GPIO का उपयोग कैसे करें। अगर आपने कभी Arduino का इस्तेमाल किया है तो शायद आप जानते हैं कि हम LED स्विच आदि को इसके पिन से जोड़ सकते हैं और इसे इस तरह काम कर सकते हैं। एलईडी ब्लिंक करें या स्विच से इनपुट प्राप्त करें ताकि
[डॉकर पाई सीरीज] रास्पबेरी पाई पर आईओटी नोड (ए) मॉड्यूल का उपयोग कैसे करें: १८ कदम
[डॉकर पाई सीरीज] रास्पबेरी पाई पर आईओटी नोड (ए) मॉड्यूल का उपयोग कैसे करें: आईओटी नोड (ए) मॉड्यूल क्या है? आईओटी नोड (ए) डॉकर पाई श्रृंखला मॉड्यूल में से एक है। IOT Node(A) = GPS/BDS + GSM + Lora.I2C सीधे लोरा को नियंत्रित करता है, डेटा भेजता है और प्राप्त करता है, SC16IS752 के माध्यम से GSM/GPS/BDS मॉड्यूल को नियंत्रित करता है, मेनबोर्ड को केवल I2C सपोर्ट की आवश्यकता होती है
रास्पबेरी पाई 3 पर रास्पियन बस्टर स्थापित करना - रास्पबेरी पाई 3बी / 3बी+ के साथ रास्पियन बस्टर के साथ शुरुआत करना: 4 कदम
रास्पबेरी पाई 3 पर रास्पियन बस्टर स्थापित करना | रास्पबेरी पाई 3 बी / 3 बी + के साथ रास्पियन बस्टर के साथ शुरुआत करना: हाय दोस्तों, हाल ही में रास्पबेरी पाई संगठन ने रास्पियन बस्टर नामक नया रास्पियन ओएस लॉन्च किया। यह रास्पबेरी पाई के लिए रास्पियन का एक नया संस्करण है। तो आज इस निर्देश में हम सीखेंगे कि रास्पबेरी पाई 3 पर रास्पियन बस्टर ओएस कैसे स्थापित करें
रास्पबेरी पाई 3 बी में एचडीएमआई के बिना रास्पियन स्थापित करना - रास्पबेरी पाई 3बी के साथ शुरुआत करना - अपना रास्पबेरी पाई सेट करना 3: 6 कदम
रास्पबेरी पाई 3 बी में एचडीएमआई के बिना रास्पियन स्थापित करना | रास्पबेरी पाई 3बी के साथ शुरुआत करना | अपना रास्पबेरी पाई 3 सेट करना: जैसा कि आप में से कुछ लोग जानते हैं कि रास्पबेरी पाई कंप्यूटर काफी शानदार हैं और आप पूरे कंप्यूटर को सिर्फ एक छोटे बोर्ड पर प्राप्त कर सकते हैं। रास्पबेरी पाई 3 मॉडल बी में क्वाड-कोर 64-बिट एआरएम कोर्टेक्स ए 53 है। 1.2 गीगाहर्ट्ज़ पर क्लॉक किया गया। यह पाई 3 को लगभग 50