داکر چیست و چرا باید از آن استفاده کرد؟

نوشته شده توسط حسام در . ارسال شده در نرم افزار

به نام خدا

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

 

در این مطلب میخوام در مورد داکر باهاتون صحبت کنم و بررسی کنیم که داکر چی هست و به چه دردی میخوره؟

لطفاً در ادامه‌ی مطلب با بنده همراه باشید تا این نرم افزار رو بررسی کنیم.

 

داکر چیست؟

داکر یک نرم افزار ارکستراتور است که به کسانی که برنامه نویس هستند کمک می‌کند تا بتوانند انواع مختلفی از نرم افزارهای مخصوص توسعه را به صورت اتوماتیک در یک محیط نیمه مجازی اجرا کنند و همچنین در ادامه قابلیت‌های بیشتری نیز مانند امکان رپلیکیشن یا تکثیر و همچنین تحمل پذیری خطا را به ما می‌دهد. در ادامه به بررسی این ویژگی‌های مهم داکر میپردازیم و بهتون هم میگم که چطور میتونید ادامه بدید و برید یاد بگیرید که از داکر استفاده کنید.

  

ارکستراتور بودن داکر به این معنیه که شما میتونید از اون مثل یه چیزی شبیه به ماشین مجازی استفاده کنید و داخل سیستم عامل خودتون تقریباً یه سیستم عامل دیگه رو اجرا کنید. منتها نه مثل ماشین مجازی کاملاً یه سیستم عامل دیگه، بلکه فقط بخشی از اون. فایده‌ی این حالت اینه که دیگه لازم نیست شما نیاز داشته باشید که کلی نرم افزار درایور رو نصب کنید یا اینکه منتظر بشینید که سیستم عامل مجازی بالا بیاد و کلی برنامه رو بخواید از اول روی اون بریزید. بلکه در داکر فقط با استفاده از یک ایمیج، شما میتونید برنامه های مد نظر خودتون رو در یک محیط مجزا بدون تداخل با سیستم عامل فعلی خودتون نصب کنید. در واقع شما یه چیز پیش ساخته دارید که با اون  میتونید به سرعت ابزارهای مورد نیاز خودتون رو اجرا کنید.

 

چرا باید از داکر استفاده کنیم؟

حالا یه مثال رو بیان میکنم. مثلاً فرض کنید ما میخوای دیتابیس Postgres رو روی سیستم خودمون نصب کنیم. با استفاده از ایمیج مخصوص Postgres میتونیم به راحتی یک کانتینر داکر اجرا کنیم که شامل دیتابیس مد نظر ما با همون ورژنیه که ما میخوایم. به این ترتیب داکر به صورت کاملاً خودکار این کانتینر رو برای ما ایجاد میکنه و دیتابیس رو روی اون نصب میکنه و تنظیمات پیشفرضش رو هم انجام میده و آمادس که ما ازش استفاده کنیم.

این اتفاق کار ما رو از نظر سر و کله زدن با نحوه‌ی نصب ابزارهای مختلف راحت میکنه، همچنین در ادامه کار بقیه‌ی همکارهای ما رو هم راحت میکنه، چون اونا هم مثل ما از نظر نصب راحت میشن و مهم تر از اون اینکه دقیقاً از همون ورژنی استفاده میکنن که ما هم استفاده میکنیم. به خاطر همین با هم هماهنگ میشیم.

علاوه بر این اکه نرم افزار ما به صورتیه که نیاز داره روی سرور خاصی نصب بشه میتونیم با استفاده از داکر بدون هیچ دردسر اونو وی سرور اصلی هم نصبش کنیم تا اونجا هم با سیستم خودمون هماهنگ باشه.

این مواردی که خدمتتون گفتم از منظر راحت کردن نصب ابزارهای مختلف بود و به ما کمک‌های بسیار شایانی میکنه. اما بر خلاف تصور بسیاری از برنامه نویس‌ها،‌ داکر فقط برای این کارا نیست، بلکه از داکر برای کارهای دیگه‌ای هم میشه استفاده کرد که در ادامه برخی از اونا رو بررسی میکنیم.

 یکی دیگه از مباحثی که میشه از داکر استفاده کرد، مبحث تکثیر هست. به این صورت که مثلاً ما یک نرم افزاری داریم که روی سرور هست و تعداد کاربرهاش زیاد شده و دیگه جوابگو نیست و سرعتش اومده پایین. برای اینکه بتونیم سرعت نرم افزارمون رو ببریم بالا میتونیم از قابلیت تکثیر داکر استفاده کنیم و مثلاً ۴ تا نسخه از نرم افزارمون رو به صورت همزمان بیاریم بالا و به داکر بگیم که درخواست هایی که از سمت کاربرا میاد رو بین این چهار تا نسخه پخش کنه. اینطوری ما به طور موازی داریم نرم افزارمون رو اجرا میکنیم و پاسخگویی خیلی سریعتری به کاربرامون خواهیم داشت. البته یه نکته‌ی خیلی خیلی مهم اینجا وجود داره که باید بهش توجه داشته باشیم. از اونجایی که ما داریم نرم افزارمون رو به طور موازی اجرا میکنیم باید حواسمون باشه که برناممون دچار مشکلات همروندی نشه.

یکی دیگه از قابلیت‌های داکر تحمل پذیری خطا هست. مثلاً فرض کنید که ما در مثال قبلی که ۴ تا کانتینر از نرم افزارمون رو روی سرور اجرا کردیم، یکی از نرم افزار ها به خطا خورد و یه دفه‌ای بسته شد. اتفاق افتادن این موضوع برای هر ۴ تا نرم افزار میتونه باعث بشه که سرور ما دیگه جواب نده و عملاً سیستم از کار بیفته، تا اینکه ما خودمون متوجه بشیم و بریم دستی درستش کنیم و ریستارتش کنیم. منتها قابلیت تحمل پذیری خطا در داکر به ما این امکان رو میده که با این مشکل مقابله کنیم و مثلاً وقتی یکی از برنامه ها دچار خطا شد و بسته شد، داکر طبق تنظیماتی که ما بهش میدیم میاد و به طور اتوماتیک برنامه‌ی ما رو دوبار اجرا میکنه تا دوباره ۴ تا کانتینری که داریم به حالت عادی برگردن. به این صورت دیگه اصلاً نیازی به انجام دادن کاری از سمت ما نیست و داکر خودش به صورت خودکار بدون اینکه حتی یک لحظه نرم افزار ما از دسترس خارج بشه خودش این مشکل رو برطرف میکنه.

وجود همچین قابلیت‌های کیفیت نرم افزارهای ما رو واقعاً بالا میبره و به ما این امکان رو میده که بتونیم سیستم‌های بزرگی درست کنیم که بتونه در سطح گسترده‌ای کار کنه.

قابلیت‌های داکر باز هم به اینجا ختم نمیشه و شما کارهای بزرگتری هم میتونید با اون انجام بدید. بهتون توصیه میکنم برای اینکه خودتون رو از خیلی از مشکلات خلاص کنید و در وقت خودتون صرفه‌جویی کنید، حتماً از داکر استفاده کنید و یه خبر خوبی هم که میخوام بهتون بدم اینه که من خودم یه آموزش بسیار کاملی از داکر تهیه کردم و به صورت عملی بهتون یاد دادم که چطوری از اون استفاده کنید و زندگی خودتون رو راحت کنید. این موزش در وبسایت فرانش هست که به راحتی میتونید اون رو تهیه کنید:

آموزش داکر در فرانش تولید شده توسط حسام غلامی

اگه هر گونه سوالی در مورد داکر و یا آموزش من داشتید خوشحال میشم که در قسمت نظرات به من بگید.

پیروز و موفق باشید 

برچسب ها: داکر , کانتینر, docker, container, ارکستراتور

چاپ