بیایید با معماری داکر و اجزای اساسی آن آشنا شویم.

فرض می کنم شما درک اساسی از داکر دارید. اگر اینگونه نباشد ، ممکن است به مقاله قبلی مراجعه کنید.

درک داکر برای مبتدی – فناوری کانتینر

من اعتقاد دارم که شما اهمیت Docker را در DevOps درک می کنید. اکنون در پشت این ابزار خارق العاده ، باید یک معماری شگفت انگیز و خوب فکر کرد. اینطور نیست?

اما قبل از اینکه در مورد آن صحبت کنم ، اجازه دهید سیستم مجازی سازی قبلی و فعلی را به نمایش بگذارم.

مجازی سازی در مقابل مجازی سازی نسل جدید

پیش از این ، ما برای ایجاد ماشین های مجازی استفاده می کردیم و هر VM دارای یک سیستم عامل بود که فضای زیادی را می گرفت و سنگین می کرد.

اکنون در مورد ظرف داکر ، شما یک سیستم عامل واحد دارید و منابع بین ظروف به اشتراک گذاشته می شود. از این رو سبک است و در چند ثانیه چکمه می کند.

سنتی در مقابل ژنرال جدید

معماری داکر

در زیر نمودار ساده یک معماری داکر است.

معماری داکر

بگذارید مؤلفه های یک معماری داکر را برای شما توضیح دهم.

موتور داکر

این قسمت اصلی کل سیستم داکر است. Docker Engine برنامه ای است که در زیر آمده است معماری مشتری-سرور. روی دستگاه میزبان نصب شده است. در Docker Engine سه مؤلفه وجود دارد:

  • سرور: این دامون docker نامیده می شود دوکارد. این می تواند تصاویر docker را ایجاد و مدیریت کند. ظروف ، شبکه ها و غیره.
  • استراحت API: برای آموزش demoner daemon چه کاری انجام می شود.
  • رابط خط فرمان (CLI): این یک مشتری است که برای وارد کردن دستورات docker استفاده می شود.

داکر مشتری

کاربران داکر می توانند از طریق مشتری با Docker ارتباط برقرار کنند. هنگامی که هر دستور docker اجرا می شود ، مشتری آنها را به demonerd Daemon می فرستد ، که آنها را انجام می دهد. API Docker توسط دستورات Docker استفاده می شود. مشتری داکر می تواند با بیش از یک شبح ارتباط برقرار کند.

ثبت نام Docker

این مکانی است که تصاویر داکر در آن ذخیره می شود. می تواند یک رجیستری داکر عمومی یا یک رجیستری داکر خصوصی باشد. Docker Hub مکان پیش فرض تصاویر داکر ، رجیستری عمومی فروشگاه های آن است. همچنین می توانید رجیستری شخصی خود را ایجاد و اجرا کنید.

وقتی دستورات docker pull یا docker run را اجرا می کنید ، تصویر docker لازم از رجیستری پیکربندی شده گرفته می شود. وقتی دستور docker push را اجرا می کنید ، تصویر docker در رجیستری پیکربندی شده ذخیره می شود.

اشیاء داکر

وقتی با Docker کار می کنید ، از تصاویر ، ظروف ، حجم ، شبکه استفاده می کنید. همه اینها اشیاء داکر هستند.

تصاویر

تصاویر داکر قالب های فقط خواندنی با دستورالعمل برای ایجاد یک ظرف docker است. تصویر Docker را می توان از یک مرکز Docker بیرون کشید و مانند آن استفاده کرد ، یا می توانید دستورالعمل های اضافی را به تصویر پایه اضافه کنید و یک تصویر docker جدید و اصلاح شده ایجاد کنید. می توانید تصاویر docker خود را نیز با استفاده از dockerfile ایجاد کنید. ایجاد یک dockerfile با تمام دستورالعمل ها برای ایجاد یک ظرف و اجرای آن. این تصویر docker سفارشی شما را ایجاد می کند.

تصویر Docker دارای یک لایه پایه است که فقط خواندنی است ، و لایه بالا قابل نوشتن است. هنگامی که یک dockerfile را ویرایش می کنید و آن را مجدداً بازسازی می کنید ، فقط قسمت اصلاح شده در لایه بالایی بازسازی می شود.

ظروف

پس از اجرای تصویر docker ، یک ظرف docker ایجاد می کند. تمام برنامه ها و محیط آنها درون این ظرف اجرا می شود. برای شروع ، متوقف کردن ، حذف یک ظرف docker می توانید از Docker API یا CLI استفاده کنید.

در زیر یک دستور نمونه برای اجرای یک ظرف docker اوبونتو وجود دارد:

docker run -i -t ubuntu / bin / bash

جلد

داده های پایدار تولید شده توسط docker و استفاده شده توسط ظروف Docker در Volume ذخیره می شوند. آنها به طور کامل توسط docker از طریق docker CLI یا Docker API اداره می شوند. جلد ها روی هر دو ظروف ویندوز و لینوکس کار می کنند. به جای ماندن داده ها در یک لایه قابل نوشتار یک ظرف ، همیشه استفاده از حجم برای آن گزینه مناسبی است. محتوای حجم در خارج از چرخه عمر یک ظرف وجود دارد ، بنابراین استفاده از حجم باعث افزایش اندازه یک ظرف نمی شود.

برای شروع یک ظرف با حجم می توانید از پرچم -v یا –mount استفاده کنید. در این دستور نمونه ، شما از حجم geekvolume با ظرف geekflare استفاده می کنید.

docker run -d – نام geekflare -v geekvolume: / برنامه nginx: جدیدترین

شبکه های

شبکه Docker گذرگاهی است که از طریق آن تمام کانتینرهای جدا شده ارتباط برقرار می کنند. عمدتا پنج درایور شبکه در داکر وجود دارد:

  1. پل: این درایور شبکه پیش فرض برای یک کانتینر است. شما هنگام اجرای برنامه خود روی ظروف مستقل ، یعنی چندین کانتینر در حال برقراری ارتباط با همان میزبان docker ، از این شبکه استفاده می کنید.
  2. میزبان: این درایور جداسازی شبکه بین ظروف docker و میزبان docker را از بین می برد. از آن استفاده می شود که دیگر نیازی به جداسازی شبکه بین میزبان و کانتینر نداشته باشید.
  3. روکش: این شبکه خدمات swarm را قادر می سازد تا با یکدیگر ارتباط برقرار کنند. هنگامی که ظروف روی میزبان های مختلف Docker در حال اجرا هستند یا وقتی خدمات swarm توسط برنامه های مختلفی شکل می گیرد ، استفاده می شود.
  4. هیچ یک: این درایور تمام شبکه ها را غیرفعال می کند.
  5. ماکلان: این درایور آدرس مک را به ظروف اختصاص می دهد تا آنها را مانند دستگاه های فیزیکی جلوه دهند. ترافیک بین کانتینرها از طریق آدرسهای Mac آنها انجام می شود. این شبکه هنگامی استفاده می شود که می خواهید ظروف مانند یک فیزیکی به نظر برسند ، به عنوان مثال ، هنگام حرکت از راه اندازی VM.

نتیجه

امیدوارم که این ایده در مورد معماری داکر و مؤلفه های اساسی آن به شما ایده دهد. برای یادگیری بیشتر در اطراف داکر حرکت کنید و اگر علاقه مند به تمرینات دستی هستید ، این موضوع را بررسی کنید دوره تسلط داکر.

برچسب ها:

  • داکر

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me