021-71053903 [email protected] پشتیبانی از شنبه تا چهارشنبه ساعت 9 الی 16

داکر چیست(معماری کانتیر)

در این مقاله قرار است که به معماری کانتینر بپردازیم.
در قست قبل مقاله، ما با نحوه کار یک سیستم عامل آشنا شدیم، در این قسمت با مفهوم و نحوه کار کانتینر آشنا خواهیم شد.

نحوه کار

هنگامی که ما یک برنامه را در حالت کاربر اجرا میکنیم نیازمند چند چیز هستیم.
1- سخت افزار
2- سیستم عامل
3- کتابخانه ها و نرم افزار های مورد نیاز برای اجرای برنامه
4- فایل برنامه
ما در حالت عادی که از یک سیستم استفاده میکنیم گزینه 1 و 2 را داریم.
اما به این مسئله فکر کنید که شما به عنوان یک توسعه دهنده یک برنامه را در محیط لینوکس توسعه دادید و تست قرار است که بر روی یک سیستم عامل از خانواده مایکروسافت انجام بدهید.

معماری این دو سیستم عامل با هم متفاوت بوده و مایحتاج(گزینه سوم لیست بالا) برای اجرای برنامه شاید فراهم نباشد.
اما کانتینر ها تمام فایل های مورد نیاز برای اجرای یک برنامه را در کنار خودش ایمیج میکند و هنگام اجرا اصلا مشکلی به دلیل تغییر محیط، تغییر ورژن نرم افزار، تغییر سیاست های خاص یک شبکه و… رو تجربه نمیکنیم.
اما خب برای اجرای برنامه، کانتینر ارتباطی با کرنل سیستم عامل دستگاه میزبان برقرار میکند، لازم به ذکر است که این ارتباطی که با کرنل برقرار میشود با سایر کانتینرها به اشتراک گذاشته میشود!
کانتینر ها برای اجرا به سیستم عامل نیاز دارند.

چگونگی کار داکر
ساختار کانتینر

همانطور که در تصویر بالا میبینید کانتینر ها برای اجرا به یک موتور یا به اصطلاح(engine) نیاز دارند که در این مقاله داکر موتور ماست.
پس چگونگی کار داکر را فرا گرفتیم. اما داکر چه مزایا و معایبی نسبت به Virtual machineها دارد؟

ماشین مجازی(Virtual machine)

اگر بخواهیم به سوال بالا پاسخ بدهیم باید در مورد Virtual machine هم اطلاعات داشته باشیم.
یک توضیح مختصر و مفید هم در مورد Virtual machine ها یا به اختصار VMها بدهیم.
بر خلاف کانتینر VM مجدادا یک سیستم کامپیوتری را شبیه سازی میکند این بدان معناست که دوباره OS باید نصب شود کانفیگ ها صورت بگیرد و محیط عملیاتی فراهم شود!
اما در این صورت یک لایه دیگر به معماری ما اضافه خواهد شد که مسئول هماهنگی هاست.
Hypervisor لایه ای است که به معماری ما افزوده میشود.
البته Hypervisor میتواند سخت‌افزاری یا نرم‌افزاری باشد.

هایپر وایزر
انواع هایپروایزر

احتمالا شما تا به حال با استفاده از vmware و یا virtualbox سیستم عامل دیگری را امتحان نمودید.
اینها نمونه های از هایپروایزر هستند.

مزایا

درسته که داکر کمی شبیه به ماشین‌های مجازی کار میکند ولی تفاوت های نیز وجود دارد!
ماشین‌های مجازی پروسه تست اپلیکیشن را سخت تر با سرعت پایینتر و همچنین صرف زمان بیشتر انجام میدهند.
اما با داکر دقیقا برعکس است و ما میتوانیم چند سیستم‌عامل مهمان(سیستم عامل های بر روی سیستم عامل اصلی) بر روی سیستم عامل میزبان(سیستم عامل اصلی دستگاه) نصب کنیم به طوری که نیاز به زیرساخت های سخت افزاری جدیدی داشته باشیم.
کانتینرها میتوانند از هم جدا باشند و این امر موجب بیشتر شدن امنیت بین اپلیکیشن ها میشود.

معایب

به دلیل نوظهور بودن کانتینرها تجربه کار با آنها گسترده نیست.
در محیط های عملیاتی بزرگ همچنان در حال آزمایش است.

قسمت اول: داکر(DOCKER) چیست؟

قسمت دوم:داکر چیست؟(قسمت دوم سیستم عامل)

محمد حجازی

31 مطلب منتشر شده

محمد حجازی هستم برنامه نویس و علاقمند به تکنولوژی و کامپیوتر. در تلاشیم که همه با هم یه قدم در راستای گسترش علم برداریم.

درباره این مطلب نظر دهید !

محصولات فروش پایتونی ها

%60
تخفیف

آموزش فیگما (Figma)

30,000 تومان
3
%69
تخفیف

آموزش برنامه نویسی پایتون

35,000 تومان
2