داکر چیست؟ شاید قبلا مقالاتی با این موضوع رو دیده باشید یا خونده باشید اتفاقا منم دیدم و خوندم ولی متاسفانه نه چیزی فهمیدم نه چیزی یادگرفتم البته از چند نفر دیگه هم که این سبک مقالات خونده بودن پرسیدم اونا هم چیزی نفهمیده بودن :) اگه خیلی ساده می خواید بدونید داکر چیه و به چه دردی میخوره در این مقاله با من همراه باشید تا با داکر آشنا بشیم.
داکر در واقع یک برنامه ست که کمک میکنه یکسری ابزار فارق از اینکه سیستم عامل ما چی هست نصب کنیم و به راحتی هرچه تمام تر استفاده کنیم. حالا این یعنی چی؟
فکر کنید ما نیاز داریم برای پروژه ای که داریم روش کار می کنیم نیازه که یک mysql-8 نصب کنیم و از اون استفاده کنیم. اگه تاحالا این فرآیند خودتون انجام داده باشید می دونید که برای کامل نصب کردن و کانفیگ کردن اون یه نیم ساعت یا یک ساعتی درگیری داریم تا بالاخره نصب بشه. این تازه جای خوب داستان بود حالا فکر کنید ما یک پروژه دیگه هم داریم که نیاز به یک mysql-5.6 داره حالا چی ؟ و یک پروژه دیگه که mysql ورژن متفاوت می خواد به نظرتون کاری اصلا میتونیم بکنیم ؟ (البته mysql اینجا فقط یک مثاله شما میتونید توی این مثال mysql با هر ابزار دیگه ایی مثل php , rabbitmq , elasticsearch و ... عوض کنید.)
اینجاست که داکر مثل شوالیه ای به کمک ما میاد و تمام مشکلات مارو حل میکنه البته ناگفته نماند که این فقط یکی از ویژگی های داکر هست و هنوز خیلی ویژگی دیگه مونده که نمی دونید. ولی خب ما به همین ویژگی بسنده می کنیم و بیشتر سر همین ویژگی بحث خواهیم کرد.
نصب داکر برای سیستم عامل های ویندوز و مک او اس خیلی راحته فقط کافیه برنامه داکر از سایت خود داکر دانلود کنید و چندتا next بزنید و تمام داکر نصب شد. ولی توی سیستم عامل لینوکس یکم چالش داره که اونم راحته لازم نیست بترسید. از لینک زیر به راحتی میتونید مراحل نصب با توجه به سیستم عامل خودتون پیش بگیرید و نصب کنید
داکر کمک میکنه که یکسری زیر برنامه که به اونا container images میگن توی سیستم خودتون نصب کنید - مثلا برای mysql یک زیر برنامه یا به اصطلاح container images وجود داره که میتونید اونو نصب کنید و استفاده کنید. مخزن اصلی داکر سایتیه به نام Docker Hub که تمام container images های مورد نیاز درون اون وجود داره. اما متاسفانه این سایت مارو تحریم کرده و ما نمی تونیم مستقیم به اون دسترسی پیدا کنیم البته خودتون می دونید چطوری بهش وصل بشید.
پیشنهاد من اینه یکسری به سایت Docker Hub بزنید و یکم با container images هایی که توی این سایت وجود داره آشنا بشید قشنگ متوجه اصل موضوع میشید.
اگه دقت کرده باشید container images ها یکسری تگ دارن که معمولا ورژن اون برنامه هست مثلا برای mysql تگ 8.0 و 5.6 وجود داره که شما بسته به کار خودتون میتونید هر کدوم که می خواید استفاده کنید. یا میتونید هردو نصب کنید و درکنار هم استفاده کنید البته اینو هم در نظر بگیرید که شما میتونید با container images ها می تونید به تعداد دلخواه برنامه بسازید. مثلا میتونید ۶ تا سرور mysql-8 با هم بسازید و استفاده کنید.
حالا که تا ایجاد رو فهمیدید اینم در جریان باشید که این برنامه ها در واقع یکسری برنامه هستن که در محیط لینوکس به صورت ایزوله نصب و کانفیگ شدن و درنهایت به صورت یک container image در اختیار شما قرار گرفتن تا استفاده کنید. ایزوله یعنی اینکه با برنامه ها و سیستم عامل های مختلف تداخلی ندارن و درکل شمارو اذیت نمی کنند.
خوشبختانه داکر به خوبی به زبان فارسی آموزش داده شده و در ضمن یکسری از دوستان هم به صورت رایگان اونارو در اختیار شما قرار دادن.
۱- آموزش داکر از جادی
۲- آموزش داکر از احمد رفیعی
۳- آموزش داکر از احمد طحانی
البته بین همه این آموزش هایی که توسط دوستان خوبمون تهیه شده من شخصا خودم آموزش آقای جادی پیشنهاد میکنم چون هم فانه و هم آموزش به شدت ساده و کاربردیه