সুচিপত্র:

রাস্পবেরি পাই এর জন্য ডকার ইমেজ তৈরি করুন: 7 টি ধাপ
রাস্পবেরি পাই এর জন্য ডকার ইমেজ তৈরি করুন: 7 টি ধাপ

ভিডিও: রাস্পবেরি পাই এর জন্য ডকার ইমেজ তৈরি করুন: 7 টি ধাপ

ভিডিও: রাস্পবেরি পাই এর জন্য ডকার ইমেজ তৈরি করুন: 7 টি ধাপ
ভিডিও: Touch Screen Pocket PC // পকেট কম্পিউটার! 2024, নভেম্বর
Anonim
রাস্পবেরি পাই এর জন্য ডকার ইমেজ তৈরি করুন
রাস্পবেরি পাই এর জন্য ডকার ইমেজ তৈরি করুন

এই নির্দেশাবলী দেখায় কিভাবে রাস্পবেরি পাই এর জন্য একটি ডকার ইমেজ তৈরি করতে হয়।

ধাপ 1: কেন ডকার?

আপনি রাস্পবেরি পাই (RPi) অনেক কিছু করতে পারেন, ছোট ওয়েব সার্ভার, এআই সহকারী, রোবটিক্স … ইত্যাদি ব্যবহার করতে পারেন।

আপনি চেষ্টা করতে চান এমন অনেক প্রকল্প, কিন্তু ব্যথা পয়েন্ট হল:

নির্মাণের সময়

RPi প্রক্রিয়াকরণ শক্তিতে আগ্রহী নয়, এবং SD/USB ড্রাইভ IO গতি সীমিত করে। Apt ইনস্টল করুন সমস্ত নির্ভরতা প্যাকেজ ইনস্টল করতে এক ঘন্টা প্রয়োজন এবং উত্স তৈরি করতে আরও ঘন্টা প্রয়োজন। বিশেষ করে এআই সম্পর্কিত প্রকল্পগুলির জন্য, চেষ্টা করার জন্য সময়ের চেয়ে অপেক্ষা করার সময়।

সংস্করণ দ্বন্দ্ব

সবাই এক RPi তে অনেক প্রজেক্ট চেষ্টা করে। যখন আপনি একটি প্রকল্পের চেষ্টা করেছেন এবং অন্য একটিতে স্যুইচ করতে চান, তখন আপনি পূর্ববর্তী প্রকল্পের সাথে নির্ভরতা লাইব্রেরি সংস্করণ দ্বন্দ্বের কারণে কিছু বিল্ড ব্যর্থতা খুঁজে পেতে পারেন। কিছু লাইব্রেরি কয়েক বছর আগে বিকাশ বন্ধ করে দেয় এবং কিছু পুরনো লাইব্রেরির উপর নির্ভর করে। বিপরীতে, সক্রিয় প্রকল্প সর্বশেষ লাইব্রেরির উপর নির্ভর করে। উভয় প্রকল্প একই এসডি/ইউএসবি ড্রাইভে একসাথে থাকতে পারে না?

চিত্র ব্যাকআপ

যেহেতু কিছু প্রকল্প সহ-অস্তিত্ব করতে পারে না, তাই প্রতিটি প্রকল্পের চিত্র নির্ভর করার জন্য আরও SD/USB ড্রাইভ কিনুন একটি উপায়। যদি অর্থ সীমিত না হয়? কিন্তু এটি ফাইল/ইমেজ ম্যানেজমেন্টের অসুবিধা বাড়ায়, কখনও কখনও আপনার এসডি/ইউএসবি সোয়াপ করার প্রয়োজন হয় এবং আপনি যা চান তা খুঁজে বের করার জন্য অনেকবার বুট করুন।

ভাগ করা কঠিন

যখন আপনি আপনার প্রকল্পটি তৈরি করেন এবং উৎসটি বন্ধুদের সাথে ভাগ করতে চান, আপনার বন্ধুরা বিল্ড ব্যর্থ ফিড ব্যাক পেতে পারে। ডিস্ট্রিবিউশন/লাইব্রেরি সংস্করণ খুব পুরানো বা খুব নতুন, বিল্ডিং প্যারামিটার এবং কিছু কৌশল। আপনার অন্যদের তৈরি সমস্যা সমাধানের জন্য সময় ব্যয় করতে হবে কিন্তু প্রকল্পটিকে সমর্থন করবেন না।

উপরের ব্যথা পয়েন্টগুলি এই কয়েক বছরে আমার অভিজ্ঞতা। ডকার এর বেশিরভাগ সাহায্য করতে পারে।

ডকার একটি প্রি -বিল্ট প্যারেন্ট ইমেজ নির্বাচন থেকে শুরু করে। যেমন ডেবিয়ান: জেসি-স্লিম একটি পুরানো স্থিতিশীল ডেবিয়ান হালকা ওজন বিতরণ থেকে শুরু; নোড: 10-বাস্টার-স্লিম শুরু ডেবিয়ান হালকা ওজন বিতরণ থেকে Node.js 10 ইনস্টল করা। প্রি -বিল্ট ইমেজ ফ্ল্যাশ ইমেজ, আপডেট পেতে এবং নির্ভরশীল লাইব্রেরি ইনস্টল করতে অনেক সময় বাঁচাতে পারে। প্রতিটি প্রকল্প বিভিন্ন OS সংস্করণ, রানটাইম সংস্করণ এবং লাইব্রেরি সংস্করণ থেকে শুরু হতে পারে। যখন আপনি আপনার নিজের প্রকল্পের উন্নয়ন শেষ করেন, আপনি ডকার ইমেজকে ডকার হাবের দিকে ঠেলে দিতে পারেন এবং সবার সাথে শেয়ার করতে পারেন। আপনি সমস্ত এসডি/ইউএসবিতে সমস্ত প্রকল্পের ডেটা রাখতে পারেন (ডেটা অন্যান্য মিডিয়াতে রুটিন ব্যাকআপ হওয়া উচিত)। স্থানীয় স্টোরেজ সংরক্ষণের জন্য, আপনি ডকার ইমেজ পরিষ্কার করতে পারেন যখন ব্যবহার করবেন না, যে কোন সময় আপনি আবার ডকার হাব থেকে টানতে পারবেন।

ধাপ 2: ডকার ওভারহেড

ডকার একটি ভার্চুয়ালাইজড লেয়ার যোগ করেছে, ওভারহেড একটি উদ্বেগের বিষয়। আমি ডকার ওভারহেড সম্পর্কে খুব বেশি পরীক্ষা করিনি। বেশিরভাগ Googled ফলাফল খুব কম ওভারহেড দাবি করে এবং আমি কিছু সম্পর্কিত গবেষণার বিষয়ে এই দস্তাবেজটি পেয়েছি:

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 টি প্রকল্প আছে, আপনি একটি রেফারেন্স হিসাবে ডকারফিল খুঁজে পেতে পারেন:

BanateCAD এর জন্য Lua রানটাইম এবং কিছু অতিরিক্ত Lua লাইব্রেরি প্রয়োজন। শুধুমাত্র লুয়া 5.1 সমস্ত প্রয়োজনীয় লুয়া লাইব্রেরির সাথে সামঞ্জস্যপূর্ণ কিন্তু এটি 2006 এর পণ্য। সর্বশেষ ডেবিয়ান বিতরণ যা লুয়া 5.1 সাফল্য তৈরি করতে পারে তা হল জেসি (বর্তমান ডেবিয়ান পুরাতন স্থিতিশীল সংস্করণ)। তাই আমি এটি চালানোর জন্য একটি লুয়া 5.1 পরিবেশ ডকার ইমেজ তৈরি করেছি।

github.com/moononournation/BanateCAD/tree/…

OpenCV একটি সক্রিয়ভাবে উন্নয়নশীল প্রকল্প, সোর্স কোড সর্বশেষ লাইব্রেরি এবং কম্পাইলার নির্ভর করে। তাই ব্যর্থ হওয়ার, লাইব্রেরি পদ্ধতির স্বাক্ষর, কম্পাইলার সংস্করণ, নির্ভরতা দ্বন্দ্ব তৈরি করার খুব উচ্চ সুযোগ … আমি একটি সাধারণ অ্যাপ তৈরি করতে opencv4nodejs ব্যবহার করতে চাই এবং সর্বশেষ বৈশিষ্ট্যগুলির প্রয়োজন নেই। সুতরাং যখন আমি opencv4nodejs সাফল্য তৈরির একটি উপায় খুঁজে পেয়েছি, তখন আমি এটি একটি ডকার ইমেজে জমা দিতে চাই এবং আমার প্রকৃত অ্যাপ্লিকেশন কোডিং করতে চাই।

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

ধাপ 5: ডেভেলপমেন্ট বিল্ড স্পিড বনাম ইমেজ সাইজ

ডেভেলপমেন্ট বিল্ড স্পিড বনাম ইমেজ সাইজ
ডেভেলপমেন্ট বিল্ড স্পিড বনাম ইমেজ সাইজ
ডেভেলপমেন্ট বিল্ড স্পিড বনাম ইমেজ সাইজ
ডেভেলপমেন্ট বিল্ড স্পিড বনাম ইমেজ সাইজ

আপনি আমার মুখ-সচেতন-ফটো-ওএসডি প্রকল্পে ডকফাইলের 2 টি সংস্করণ খুঁজে পেতে পারেন:

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

উন্নয়ন করার সময়, আমি যতটা সম্ভব ছোট RUN কমান্ড পছন্দ করি এবং RUN কমান্ডকে শেষ ধাপে পরিবর্তন করার ব্যবস্থা করি। তাই উন্নয়ন পরিবর্তনের জন্য প্রতিটি বিল্ডের জন্য, আমি আগের বিল্ট লেয়ারকে যতটা সম্ভব ব্যবহার করতে পারি এবং অনেক বিল্ড স্পিড বাঁচাতে পারি।

বিপরীতে, আমি মুক্তির আগে সমস্ত RUN কমান্ড এক সাথে একত্রিত করব। কম স্তর ডকার ইমেজের আকার অনেক কমিয়ে দিতে পারে। আমার মুখ-সচেতন-ফটো-ওএসডি প্রকল্প উদাহরণস্বরূপ এটি 100 এমবি এরও বেশি আকার কমাতে পারে।

ধাপ 6: মাল্টি আর্চ ইমেজ

মাল্টি আর্চ ইমেজ
মাল্টি আর্চ ইমেজ

আগেই উল্লেখ করা হয়েছে, RPi প্রক্রিয়াকরণ শক্তির প্রতি আগ্রহী নয়। RPi বিল্ড ডকার ইমেজ ব্যবহার করা ভালো পছন্দ নাও হতে পারে, বিশেষ করে যখন আপনার একমাত্র RPi অন্য প্রকল্প চালাচ্ছে।

একটি x86 কম্পিউটার ব্যবহার করুন যা আপনাকে ডকার ইমেজ তৈরিতে সাহায্য করতে পারে, অনুগ্রহ করে এখানে আরো বিস্তারিত দেখুন:

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

সাধারণ 2 কমান্ড সমান্তরালভাবে x86 এবং এআরএম ডকার ইমেজ তৈরি করতে পারে:

docker buildx create --use

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

মাল্টি আর্চ একই ডকার ইমেজ ট্যাগ দিয়ে মাল্টি প্ল্যাটফর্ম ইমেজ তৈরি করতে পারে, তাই আপনার প্রকল্পটি বিভিন্ন মেশিনে নির্বিঘ্নে চলতে পারে। যেমন

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

আপনি RPi বা আপনার x86 কম্পিউটারে উপরের কমান্ডটি চালান না কেন, আপনি একটি Lua রানটাইম পরিবেশ পেতে পারেন।

ধাপ 7: শুভ আরপিআই

আপনি এখন আপনার RPi প্রকল্পটি আরও সহজেই বিকাশ এবং ভাগ করতে পারেন!

প্রস্তাবিত: