VM یا ډاکر؟

تاسو څنګه پوهیږئ که تاسو ډاکر ته اړتیا لرئ او VM نه؟ تاسو اړتیا لرئ وټاکئ چې دقیقا څه غواړئ جلا کړئ. که تاسو غواړئ یو سیسټم د تضمین شوي وقف شوي سرچینو او مجازی هارډویر سره جلا کړئ، نو انتخاب باید VM وي. که تاسو د جلا سیسټم پروسو په توګه د چلولو غوښتنلیکونه جلا کولو ته اړتیا لرئ، تاسو به ډاکر ته اړتیا ولرئ.

نو د ډاکر کانټینرونو او VMs ترمنځ توپیر څه دی؟

مجازی ماشین (VM) یو مجازی کمپیوټر دی چې د ټولو مجازی وسایلو او یو مجازی هارډ ډیسک سره په کوم کې یو نوی خپلواک OS د مجازی وسیلو چلوونکو، د حافظې مدیریت او نورو برخو سره نصب شوی. دا ، موږ د فزیکي هارډویر خلاصون ترلاسه کوو چې موږ ته اجازه راکوي په یو کمپیوټر کې ډیری مجازی کمپیوټرونه چلوو.
یو نصب شوی VM کولی شي ستاسو د کمپیوټر ډیسک کې په بیلابیلو لارو ځای ونیسي:

  • د هارډ ډیسک ثابت ځای، کوم چې مجازی هارډ ډیسک ته ګړندي لاسرسي ته اجازه ورکوي او د فایل ټوټې کیدو مخه نیسي؛
  • متحرک حافظه تخصیص. کله چې اضافي غوښتنلیکونه نصب کړئ ، حافظه به په متحرک ډول د دوی لپاره تخصیص شي تر هغه چې دا ورته ځانګړي شوي اعظمي مقدار ته ورسیږي.

په هر سرور کې ډیر مجازی ماشینونه، دوی ډیر ځای نیسي، او همدارنګه ستاسو د غوښتنلیک چلولو لپاره اړین چاپیریال لپاره دوامداره ملاتړ ته اړتیا لري.

ډاکر د کانټینر پر بنسټ غوښتنلیکونو جوړولو لپاره سافټویر دی. کانټینرونه او مجازی ماشینونه ورته ګټې لري، مګر په مختلف ډول کار کوي. کانټینرونه لږ ځای نیسي ځکه چې ... د VM په پرتله د کوربه سیسټم ډیرې شریکې سرچینې بیا وکاروئ، ځکه د VM برعکس، دا د OS په کچه مجازی کول چمتو کوي، نه د هارډویر په کچه. دا طریقه د ټیټ حافظې نقشه، ګړندۍ ګمارنې، او اسانه اندازه کولو پایله لري.

کانټینر کوربه سیسټم ته د اړین انٹرفیسونو چمتو کولو سره د غوښتنلیکونو پوښلو لپاره خورا مؤثر میکانیزم چمتو کوي. دا خصوصیت کانټینرونو ته اجازه ورکوي چې د سیسټم اصلي برخه شریک کړي، هر کانټینر د جلا کوربه OS پروسې په توګه پرمخ ځي چې د خپل حافظې ساحو (د خپل مجازی پته ځای) لري. څرنګه چې د هر کانټینر مجازی پته ځای خپل دی، د مختلف حافظې ساحو پورې اړوند معلومات نشي بدلیدلی.
د ډاکر لپاره اصلي OS لینکس دی (ډاکر په وینډوز او MacOS کې هم کارول کیدی شي) ، دا خپلې اصلي ګټې کاروي ، کوم چې دې ته اجازه ورکوي د کرنل جلا کول تنظیم کړي. په وینډوز کې د ډاکر کانټینر چلول به د یو مجازی ماشین دننه ترسره شي چې د لینکس OS چلوي، ځکه کانټینرونه د کوربه سیسټم OS شریکوي او د دوی لپاره اصلي OS لینکس دی.

کانټینر - دا څنګه کار کوي؟

کانټینر د اپلیکیشن په کچه خلاصون دی چې کوډ او انحصارونه ترکیب کوي. کانټینرونه تل د عکسونو څخه رامینځته کیږي ، د لیکلو وړ پورتنۍ پرت ​​اضافه کوي او مختلف پیرامیټونه پیل کوي. ځکه چې یو کانټینر خپل د لیکلو پرت لري او ټول بدلونونه په دې پرت کې زیرمه شوي، ډیری کانټینر کولی شي ورته ماسټر عکس ته لاسرسی شریک کړي.

هر کانټینر د ډاکر - کمپوز پروژې کې د فایل له لارې تنظیم کیدی شي چې اصلي حل کې شامل دي - docker-compose.yml. هلته تاسو کولی شئ مختلف پیرامیټونه تنظیم کړئ لکه د کانټینر نوم ، بندرونه ، پیژندونکي ، د سرچینې محدودیتونه ، د نورو کانټینرونو ترمینځ انحصار. که تاسو په ترتیباتو کې د کانټینر نوم مشخص نه کړئ ، نو ډاکر به هر ځل یو نوی کانټینر رامینځته کړي ، دا په تصادفي ډول نوم ورکوي.

کله چې یو کانټینر د عکس څخه پیل شي ، ډاکر د لاندې هر پرت په سر کې د لوستلو لیکلو فایل سیسټم نصبوي. دا هغه ځای دی چې ټولې پروسې چې موږ یې غواړو زموږ د ډاکر کانټینر پرمخ بوځي.

کله چې ډاکر لومړی کانټینر پیل کوي ، د لوستلو لومړني پرت خالي وي. کله چې بدلونونه واقع شي، دوی په دې طبقه کې پلي کیږي. د مثال په توګه، که تاسو غواړئ یو فایل بدل کړئ، دا فایل به د لوستلو یوازې پرت څخه د لوستلو لیکلو پرت ته کاپي شي.
د فایل یوازې لوستلو نسخه به لاهم شتون ولري ، مګر دا اوس د کاپي لاندې پټ دی. حجمونه د معلوماتو ذخیره کولو لپاره کارول کیږي، پرته له دې چې د کانټینر د ژوند دورې په پام کې نیولو سره. حجمونه پیل کیږي کله چې کانټینر جوړ شي.

عکس څنګه د کانټینر سره تړاو لري؟

انځور - د هر کانټینر لپاره اصلي عنصر. عکس د ډاکر فایل څخه رامینځته شوی چې په پروژه کې اضافه شوي او د فایل سیسټمونو (پرتونو) سیټ دی چې د یو بل په سر کې پرت شوي او یوځای ګروپ شوي ، یوازې د لوستلو لپاره؛ د پرتونو اعظمي شمیر 127 دی.

د هر عکس په زړه کې د اساس عکس دی ، کوم چې د FROM کمانډ لخوا مشخص شوی - د ننوتلو نقطه کله چې د ډاکر فایل عکس رامینځته کول. هر پرت د لوستلو وړ پرت دی او د یو واحد کمانډ لخوا نمایش کیږي چې د فایل سیسټم بدلوي، په ډاکر فایل کې لیکل شوی.
په یو واحد عکس کې د دې پرتونو یوځای کولو لپاره ، ډاکر د پرمختللي څو پرت لرونکي اتحادیې فایل سیسټم کاروي (AuFS د UnionFS په سر کې جوړ شوی) ، د مختلف فایل پرتونو څخه مختلف فایلونو او لارښودونو ته اجازه ورکوي چې په شفاف ډول پوښل شي ، د یو همغږي فایل سیسټم رامینځته کوي.

پرتونه میټاډاټا لري چې تاسو ته اجازه درکوي د هر پرت په اړه اړوند معلومات د چلولو او جوړیدو وخت کې ذخیره کړئ. هر پرت د بل پرت لپاره لینک لري؛ که چیرې یو پرت لینک ونه لري، نو دا په عکس کې ترټولو لوړ پرت دی.

د ډاکر فایل ممکن داسې قوماندې ولري لکه:

  • FROM - د ننوتلو نقطه کله چې عکس جوړوي؛
  • مینټینر - د عکس د مالک نوم؛
  • RUN - د عکس اسمبلۍ پرمهال د امر اجرا کول؛
  • ADD - نوي عکس ته د کوربه فایل کاپي کول؛ که تاسو د فایل URL مشخص کړئ ، ډاکر به دا ټاکل شوي لارښود ته ډاونلوډ کړي؛
  • ENV - د چاپیریال تغیرات؛
  • CMD - د عکس پراساس د نوي کانټینر رامینځته کول پیل کوي؛
  • ENTRYPOINT - کمانډ اجرا کیږي کله چې کانټینر پیل شي.
  • WORKDIR د CMD کمانډ اجرا کولو لپاره کاري لارښود دی.
  • USER - د عکس پراساس رامینځته شوي کانټینر لپاره UID ټاکي.
  • حجم - د کوربه ډایرکټر په کانټینر کې نصبوي.
  • EXPOSE د بندرونو سیټ دی چې په کانټینر کې لیست شوي.

UnionFS څنګه کار کوي؟

UnionFS - د لینکس او FreeBSD لپاره د یوټیلټي سټیک فایل سیسټم (FS). دا FS د کاپي پر لیکلو میکانیزم پلي کوي (کاپي پر لیکلو، COW). د UnionFS کاري واحد یو پرت دی؛ هر پرت باید د جلا بشپړ فایل سیسټم په توګه په پام کې ونیول شي چې پخپله د ریښې څخه د لارښودونو درجه بندي لري. UnionFS د نورو فایل سیسټمونو لپاره د اتحادیې ماونټ رامینځته کوي او د مختلف فایل سیسټمونو فایلونو او لارښودونو ته اجازه ورکوي (فورکس نومیږي) په یو واحد همغږي فایل سیسټم کې یوځای شي ، په شفاف ډول کارونکي ته.

د ورته لارو سره د لارښودونو مینځپانګې به د پایلې شوي فایل سیسټم په یو متحد لارښود (یو واحد نوم ځای کې) کې یوځای څرګند شي.

UnionFS د لاندې اصولو پراساس پرتونه سره یوځای کوي:

  • یو پرتونه د پورتنۍ سطحې پرت کیږي، دوهم او ورپسې پرتونه د ټیټې کچې پرتونه کیږي؛
  • د پرت توکي د کارونکي لپاره شتون لري "له پورته څخه ښکته"، د بیلګې په توګه. که غوښتل شوی څیز په "پورته" طبقه کې وي، دا بیرته راستانه کیږي، پرته له دې چې په "لاندې" پرت کې د ورته نوم سره د اعتراض شتون په پام کې ونیول شي؛ که نه نو د "لاندې" پرت اعتراض بیرته راستانه شوی؛ که غوښتل شوی اعتراض نه وي او نه هم شتون ولري، نو د "هیڅ ډول فایل یا لارښود" تېروتنه بیرته نه راځي؛
  • کاري پرت "پورته" دی، دا دی، د معلوماتو بدلولو لپاره د کاروونکي ټولې کړنې یوازې د لوړې کچې پرت کې منعکس کیږي، پرته له دې چې د ټیټې کچې پرتونو مینځپانګې اغیزه وکړي.

ډاکر د غوښتنلیکونو چلولو لپاره د کانټینرونو کارولو لپاره خورا عام ټیکنالوژي ده. دا په ساحه کې معیاري شوی، د لینکس کرنل لخوا چمتو شوي cgroups او نوم ځایونو کې جوړونه.

ډاکر موږ ته اجازه راکوي چې غوښتنلیکونه په چټکۍ سره ځای په ځای کړو او د ټولو کانټینرونو ترمنځ د OS کرنل ویشلو سره د فایل سیسټم غوره ګټه پورته کړو، د جلا OS پروسو په توګه پرمخ ځي.

سرچینه: www.habr.com

Add a comment