یک روز زمانیکه سخت درگیر کار بر روی یک پروژه وب بودم یکی از دوستانم با من تماس گرفت و ازم خواست یک پروژه وب دیگر را روی سیستم من اجرا کند مشکل من وقفه ایجاد شده در کارم نبود مشکل آنجایی بود که من در سیستم .net core 3 نصب داشتم و و خیلی وقت بود تنبلی می کردم برای بروزسانی ورژن core تو سیستم، اما حالا به مشکل خورده بودم اگر ورژن رو بالا میبردم پروژه هایی که در حال انجام بودم با مشکل روبرو می شد و از طرفی نمی خواستم درخواست دوستم را رد کنم
حالا چیکار باید می کردم ؟نصب ورژن جدید یا رد درخواست دوستم
یکی از راه هایی که به ذهنم می رسید نصب ماشین مجازی در سیستمم بود یا نصب یک نسخه جدا از سیستم عامل
اما در هر دو راه بالا مشکلاتی وجود داشت نصب ماشین مجازی یا سیستم عامل جدا باعث می شد مقدار زیادی از حجم موجود در هارد دیسک را از دست بدم و سیستم من کند تر بشه چرا که این سیستم قدیمی است و زیاد نمیشه به اون فشار آورد
اما با کمی تحقیق راه دیگری رو پیدا کردم، نصب داکر
داکر یک پلتفرمه که باعث میشه من بتونم یک پروژه دیگر با نسخه کاملا متفاوت را در سیستم اجرا کنم بدون نیاز به آپدیت ورژن قبلی .net core
همچنین داکر خیلی سبک تر از ماشین مجازی است، حتی در داکر می تونم نسخه های مختلف لینوکس رو اجرا کنم
از مزایای داکر امکان ایزوله کردن برنامه ها است شما می توانید برنامه های مختلف را بدون اینکه در کار همدیکر تداخلی ایجاد کنند در یک محیط ایزوله اجرا کنید
این قابلیت داکر به تیم های مختلف ابن امکان را می دهد که بدون داشتن تداخل با تیم های دیگر برنامه ها و پروژه های خود را اجرا کنند
داکر به شما این امکان را می دهد تا برنامه هایی بسازید که قابل حمل باشند یا به عبارت دیگر برنامه هایی که در محیط های مختلف قابل اجرا باشند
شما می توانید یک خروجی از image پروژه خود تهیه کنید و آن را در محیط های گوناگون با سیستم عامل های متفاوت اجرا کنید
در داکر ابزار های مختلفی برای مدیریت image ها وجود دارد مانندdocker swarm , docker compose که در بخش های بعدی به صورت کامل توضیح داده می شود
از دیگر نکات کار با داکر مانیتورینگ و لاگ برای image های در حال اجرا هست در داکر ابزارهای مختلفی برای مانیتورینگ و لاگ وجود دارد که به شما کمک می کند خطاهای موجود در پروژه را به سرعت پیدا کنید و آنها را رفع نمایید
داکر همچنین برای مدیریت میکروسرویس ها هم بسیار مناسب می باشد شما این امکان را دارید تا هر سرویس را در یک محیط کاملا مستقل از دیگر سرویس ها اجرا کنید
و هر سرویس را جداگانه مدیریت کنید و به صورت کاملا مستقل آنها را بروزرسانی کنید
تاریخچه داکر
قبل از رفتن سراغ یادگیری دستورات داکر بهتر است کمی با تاریخچه آن آشنا شویم
اولین نسخه از داکر در سال ۲۰۱۴ منتشر شد، داکر براساس ایده سالامان هایکز بنا شده او هدف از ایجاد داکر را تعامل راحت تر با کانتینر ها معرفی کرد، این ایده از نظر مهندسان و کارشناسان جذاب بود و توانست نظر آنها را به خود جلب کند
داکر در اولین نسخه خود تمام ایده ها و اهدافی که سالامان هایکز معرفی کرده بود را اجرایی کرد
این ایده و عملکرد داکر باعث شد تا بسیاری از شرکت های بزرگ پروژه های خود را از سرور های مجازی به داکر منتقل کنند
در مدت زمان کوتاهی بسیاری از شرکت ها و بانک ها شروع به استفاده از داکر کردند و نرم افزارهای خود را بر روی داکر اجرا کردند
بنابر گزارش شرکت داکر امروزه نزدیک به سه و نیم میلیارد اپلیکیشن از فناوری داکر استفاده می کنند
داکر امروزه در تمامی سیستم عامل ها قابل اجرا هست و این قابلیت را دارد نرم افزار ها را جدا از سیستم عامل اجرا نماید
در ادامه در بخش های جداگانه سعی می کنیم داکر را از ساده ترین دستور تا دستوراتی با کمی پیچیدگی بیشتر تمرین کنیم
این داستان ادامه دارد...