د ډاکر پوهیدل

زه اوس د څو میاشتو راهیسې د ویب پروژو پراختیا / تحویلي پروسې جوړښت لپاره ډاکر کاروم. زه د حبرکبر لوستونکو ته د ډاکر په اړه د ابتدايي مقالې ژباړه وړاندیز کوم - "د ډاکر پوهیدل".

ډاکر څه شی دی؟

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

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

د کانټینر مجازی کولو پلیټ فارم او اوزار په لاندې قضیو کې ګټور کیدی شي:

  • ستاسو غوښتنلیک (او هغه برخې چې تاسو یې کاروئ) په ډاکر کانټینرونو کې بسته کول؛
  • ستاسو ټیمونو ته د پراختیا او ازموینې لپاره د دې کانټینرونو توزیع او تحویل؛
  • دا کانټینرونه ستاسو د تولید سایټونو کې ایښودل ، دواړه د معلوماتو مرکزونو او بادلونو کې.

زه د څه لپاره ډاکر کارولی شم؟

ژر تر ژره خپل غوښتنلیکونه خپاره کړئ

ډاکر د پراختیا دورې تنظیم کولو لپاره عالي دی. ډاکر پراختیا کونکو ته اجازه ورکوي چې محلي کانټینرونه د غوښتنلیکونو او خدماتو سره پرمخ بوځي. کوم چې وروسته تاسو ته اجازه درکوي چې د دوامداره ادغام پروسې او پلي کولو کاري فلو سره مدغم شئ.

د مثال په توګه، ستاسو پراختیا کونکي په محلي توګه کوډ لیکي او د دوی پراختیایی سټیک (د ډاکر عکسونو سیټ) د همکارانو سره شریکوي. کله چې دوی چمتو وي، دوی کوډ او کانټینرونه د ازموینې سایټ ته اړوي او کوم اړین ازموینې پرمخ وړي. د ازموینې سایټ څخه، دوی کولی شي کوډ او عکسونه تولید ته واستوي.

په اسانۍ سره ایښودل او افشا کول

د ډاکر کانټینر میشته پلیټ فارم ستاسو د تادیې پور پورټ کول اسانه کوي. د ډاکر کانټینرونه ستاسو په محلي ماشین کې چلولی شي ، یا په ریښتیني یا په مجازی ماشین کې د ډیټا مرکز کې ، یا په کلاوډ کې.

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

لوړ بارونه او ډیر تادیات

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

اصلي ډاکر اجزا

ډاکر دوه اصلي برخې لري:

  • ډاکر: د خلاصې سرچینې مجازی کولو پلیټ فارم؛
  • د ډاکر هب: د ډاکر کانټینرونو توزیع او اداره کولو لپاره زموږ پلیټ فارم - یو خدمت.

نوټ! ډاکر د اپاچي 2.0 جواز لاندې ویشل شوی.

د ډاکر معمارۍ

ډاکر د پیرودونکي - سرور جوړښت کاروي. د ډاکر پیرودونکي د ډاکر ډیمون سره اړیکه نیسي ، کوم چې ستاسو د کانټینرونو رامینځته کولو ، چلولو او توزیع کولو بار په غاړه اخلي. پیرودونکي او سرور دواړه کولی شي په ورته سیسټم کې پرمخ بوځي، تاسو کولی شئ پیرودونکي د ریموټ ډاکر ډیمون سره وصل کړئ. پیرودونکي او سرور د ساکټ یا RESTful API له لارې اړیکه نیسي.

د ډاکر پوهیدل

ډاکر ډیمون

لکه څنګه چې په ډیاګرام کې ښودل شوي، ډیمون د کوربه ماشین پرمخ ځي. کاروونکي په مستقیم ډول د سرور سره اړیکه نه نیسي، مګر د دې لپاره مراجعین کاروي.

د ډاکر پیرودونکي

د ډاکر پیرودونکي، د ډاکر برنامه، د ډاکر اصلي انٹرفیس دی. دا د کارونکي څخه امرونه ترلاسه کوي او د ډاکر ډیمون سره اړیکه لري.

دننه ډاکر

د دې لپاره چې پوه شئ چې ډاکر څه شی لري، تاسو اړتیا لرئ د دریو برخو په اړه پوه شئ:

  • انځورونه
  • ثبت
  • کانتینرونه

انځورونه

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

راجستر

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

کانټینرونه

کانټینرونه د لارښوونو سره ورته دي. کانټینرونه هر هغه څه لري چې غوښتنلیک چلولو ته اړتیا لري. هر کانټینر د عکس څخه جوړ شوی. کانټینرونه جوړ، پیل، ودرول، مهاجرت یا حذف کیدی شي. هر کانټینر جلا دی او د غوښتنلیک لپاره خوندي پلیټ فارم چمتو کوي. کانټینرونه د کار اجزا دي.

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

تر اوسه موږ پوهیږو چې:

  • موږ کولی شو هغه عکسونه جوړ کړو چې زموږ غوښتنلیکونه پکې موقعیت لري؛
  • موږ کولی شو د غوښتنلیکونو چلولو لپاره له عکسونو څخه کانټینرونه جوړ کړو؛
  • موږ کولی شو عکسونه د ډاکر هب یا بل عکس ثبتولو له لارې توزیع کړو.

راځئ وګورو چې دا اجزا څنګه سره یوځای کیږي.

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

موږ دمخه پوهیږو چې یو عکس یوازې د لوستلو ټیمپلیټ دی چې له هغې څخه کانټینر رامینځته کیږي. هر عکس د کچو سیټ لري. Docker کاروي د اتحادیې فایل سیسټم د دې کچې یوځای کولو لپاره په یو عکس کې. د اتحادیې فایل سیسټم د مختلف فایل سیسټمونو (مختلفو څانګو) فایلونو او لارښودونو ته اجازه ورکوي چې په شفاف ډول سره یو ځای شي، یو همغږي فایل سیسټم رامینځته کوي.

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

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

نوټ! ډاکر عموما د ډاکر هب راجسټري څخه عکسونه راوباسي.

د ډاکر عکسونه د دې اساس عکسونو څخه رامینځته کیدی شي؛ موږ د دې عکسونو لارښوونې رامینځته کولو مرحلې بولو. هره لارښوونه یو نوی انځور یا کچه جوړوي. لارښوونې به په لاندې ډول وي:

  • د چلولو قومانده
  • د فایل یا لارښود اضافه کول
  • د چاپیریال متغیر رامینځته کول
  • د دې په اړه لارښوونې چې څه باید پرمخ بوځي کله چې د دې عکس کانټینر پیل شي

دا لارښوونې په فایل کې ساتل کیږي Dockerfile. ډاکر دا لوستل Dockerfile، کله چې تاسو عکس جوړ کړئ ، دا لارښوونې پلي کوي او وروستی عکس بیرته راولي.

د ډاکر راجستر څنګه کار کوي؟

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

د ډاکر پیرودونکي سره ، تاسو کولی شئ دمخه خپاره شوي عکسونه وپلټئ او د کانټینرونو رامینځته کولو لپاره یې خپل ډاکر ماشین ته ډاونلوډ کړئ.

ډاکر هب د عامه او خصوصي عکس ذخیره چمتو کوي. د عامه زیرمو څخه د عکسونو لټون او ډاونلوډ کول د هرچا لپاره شتون لري. د شخصي ذخیرې مینځپانګې د لټون پایلو کې ندي شامل شوي. او یوازې تاسو او ستاسو کاروونکي کولی شئ دا عکسونه ترلاسه کړئ او له دوی څخه کانټینرونه جوړ کړئ.

کانتینر څنګه کار کوي؟

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

څه پیښیږي کله چې کانټینر پیل شي؟

یا د پروګرام په کارولو سره docker، یا د RESTful API په کارولو سره ، د ډاکر پیرودونکي ډاکر ډیمون ته وايي چې کانټینر پیل کړي.

$ sudo docker run -i -t ubuntu /bin/bash

راځئ چې دې امر ته یو نظر وکړو. پیرودونکي د کمانډ په کارولو سره پیل کیږي dockerد اختیار سره run، کوم چې وايي چې یو نوی کانټینر به په لاره واچول شي. د کانټینر چلولو لپاره لږترلږه اړتیاوې لاندې ځانګړتیاوې دي:

  • کوم عکس د کانټینر جوړولو لپاره کارول کیږي. زموږ په قضیه کې ubuntu
  • هغه قومانده چې تاسو یې غواړئ پرمخ بوځي کله چې کانټینر پیل شي. زموږ په قضیه کې /bin/bash

د هود لاندې څه پیښیږي کله چې موږ دا کمانډ چلوو؟

ډاکر، په ترتیب کې، لاندې کار کوي:

  • د اوبنټو عکس ډاونلوډ کړئ: ډاکر د عکس شتون لپاره چک کوي ubuntu په محلي ماشین کې، او که دا شتون نلري، نو بیا یې ډاونلوډ کړئ ډاکر هب. که چیرې یو انځور وي، دا د کانټینر جوړولو لپاره کاروي؛
  • یو کانټینر جوړوي: کله چې عکس ترلاسه شي، ډاکر دا د کانټینر جوړولو لپاره کاروي؛
  • د فایل سیسټم پیل کوي او یوازې د لوستلو کچه پورته کوي: کانټینر د فایل سیسټم کې رامینځته شوی او عکس یوازې د لوستلو کچې ته اضافه شوی؛
  • شبکه/پل پیلوي: د شبکې انٹرفیس رامینځته کوي چې ډاکر ته اجازه ورکوي چې د کوربه ماشین سره اړیکه ونیسي؛
  • د IP پته ترتیب کول: پته پیدا کوي او ټاکي؛
  • ټاکل شوې پروسه پیل کوي: ستاسو غوښتنلیک پیلوي؛
  • ستاسو د غوښتنلیک څخه پروسس او تولید تولیدوي: ستاسو د غوښتنلیک معیاري آخذه، محصول، او غلطی جریان سره نښلوي او لاګ کوي نو تاسو کولی شئ تعقیب کړئ چې ستاسو غوښتنلیک څنګه ترسره کوي.

تاسو اوس یو کاري کانتینر لرئ. تاسو کولی شئ خپل کانټینر اداره کړئ، ستاسو د غوښتنلیک سره اړیکه ونیسئ. کله چې تاسو د غوښتنلیک بندولو پریکړه وکړئ، کانټینر حذف کړئ.

ټیکنالوژي کارول کیږي

ډاکر په Go کې لیکل شوی او د پورتني فعالیت پلي کولو لپاره د لینکس کرنل ځینې ځانګړتیاوې کاروي.

نوم ځایونه

ډاکر ټیکنالوژي کاروي namespaces د جلا کاري ځایونو تنظیم کول، کوم چې موږ کانټینر بولو. کله چې موږ یو کانټینر پیل کړو، ډاکر د دې کانټینر لپاره د نوم ځایونو سیټ جوړوي.

دا یو جلا پرت رامینځته کوي ، د کانټینر هر اړخ په خپل نوم ځای کې روان وي او بهرني سیسټم ته لاسرسی نلري.

د ځینو نوم ځایونو لیست چې ډاکر یې کاروي:

  • pid: د پروسې جلا کول؛
  • جال: د شبکې انٹرفیسونو اداره کولو لپاره؛
  • ipc: د IPC سرچینې اداره کول. (ICP: InterProccess Communication);
  • mnt: د ماونټ پوائنټونو اداره کول
  • utc: د کرنل او کنټرول نسخه نسل جلا کولو لپاره (UTC: د یونیکس وخت شریکولو سیسټم).

د کنټرول ډلې

ډاکر هم ټیکنالوژي کاروي cgroups یا د کنټرول ډلې. په انزوا کې د غوښتنلیک چلولو کلیدي دا ده چې غوښتنلیک ته یوازې هغه سرچینې چمتو کړئ چې تاسو یې چمتو کول غواړئ. دا ډاډ ورکوي چې کانټینرونه به ښه ګاونډیان وي. د کنټرول ګروپونه تاسو ته اجازه درکوي چې موجود هارډویر سرچینې شریک کړئ او که اړتیا وي، حدود او محدودیتونه وټاکئ. د مثال په توګه، د کانټینر لپاره د حافظې احتمالي مقدار محدود کړئ.

د اتحادیې فایل سیسټم

د اتحادیې فایل سیسټم یا یونین ایف ایس یو فایل سیسټم دی چې د پرتونو په جوړولو سره کار کوي، دا خورا لږ وزن او چټک جوړوي. ډاکر د بلاکونو رامینځته کولو لپاره یونین ایف ایس کاروي له کوم څخه چې کانټینر جوړ شوی. ډاکر کولی شي د UnionFS ډیری ډولونه وکاروي پشمول: AUFS، btrfs، vfs او DeviceMapper.

د کانټینر شکلونه

ډاکر دا اجزا په یو ریپر کې سره یوځای کوي چې موږ یې د کانټینر بڼه بولو. ډیفالټ بڼه بلل کیږي libcontainer. ډاکر د لینکس په کارولو سره د دودیز کانټینر ب formatه هم ملاتړ کوي LXC. په راتلونکي کې ، ډاکر ممکن د نورو کانټینر فارمیټونو ملاتړ وکړي. د مثال په توګه، د BSD جیلونو یا سولاریس زونونو سره یوځای کول.

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

Add a comment