محمد عبدی
محمد عبدی
خواندن ۴ دقیقه·۵ سال پیش

Docker چیست؟ و چه استفاده ای دارد؟

داکر چیست؟ شاید قبلا مقالاتی با این موضوع رو دیده باشید یا خونده باشید اتفاقا منم دیدم و خوندم ولی متاسفانه نه چیزی فهمیدم نه چیزی یادگرفتم البته از چند نفر دیگه هم که این سبک مقالات خونده بودن پرسیدم اونا هم چیزی نفهمیده بودن :) اگه خیلی ساده می خواید بدونید داکر چیه و به چه دردی میخوره در این مقاله با من همراه باشید تا با داکر آشنا بشیم.

Docker
Docker

داکر در واقع یک برنامه ست که کمک میکنه یکسری ابزار فارق از اینکه سیستم عامل ما چی هست نصب کنیم و به راحتی هرچه تمام تر استفاده کنیم. حالا این یعنی چی؟

فکر کنید ما نیاز داریم برای پروژه ای که داریم روش کار می کنیم نیازه که یک mysql-8 نصب کنیم و از اون استفاده کنیم. اگه تاحالا این فرآیند خودتون انجام داده باشید می دونید که برای کامل نصب کردن و کانفیگ کردن اون یه نیم ساعت یا یک ساعتی درگیری داریم تا بالاخره نصب بشه. این تازه جای خوب داستان بود حالا فکر کنید ما یک پروژه دیگه هم داریم که نیاز به یک mysql-5.6 داره حالا چی ؟ و یک پروژه دیگه که mysql ورژن متفاوت می خواد به نظرتون کاری اصلا میتونیم بکنیم ؟ (البته mysql اینجا فقط یک مثاله شما میتونید توی این مثال mysql با هر ابزار دیگه ایی مثل php , rabbitmq , elasticsearch و ... عوض کنید.)

Docker and Mysql
Docker and Mysql

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

چگونه داکر را نصب کنیم ؟

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

https://docs.docker.com/engine/install/

با داکر چه کار می توانیم بکنیم ؟

داکر کمک میکنه که یکسری زیر برنامه که به اونا container images میگن توی سیستم خودتون نصب کنید - مثلا برای mysql یک زیر برنامه یا به اصطلاح container images وجود داره که میتونید اونو نصب کنید و استفاده کنید. مخزن اصلی داکر سایتیه به نام Docker Hub که تمام container images های مورد نیاز درون اون وجود داره. اما متاسفانه این سایت مارو تحریم کرده و ما نمی تونیم مستقیم به اون دسترسی پیدا کنیم البته خودتون می دونید چطوری بهش وصل بشید.

docker popular images
docker popular images

پیشنهاد من اینه یکسری به سایت Docker Hub بزنید و یکم با container images هایی که توی این سایت وجود داره آشنا بشید قشنگ متوجه اصل موضوع میشید.

اگه دقت کرده باشید container images ها یکسری تگ دارن که معمولا ورژن اون برنامه هست مثلا برای mysql تگ 8.0 و 5.6 وجود داره که شما بسته به کار خودتون میتونید هر کدوم که می خواید استفاده کنید. یا میتونید هردو نصب کنید و درکنار هم استفاده کنید البته اینو هم در نظر بگیرید که شما میتونید با container images ها می تونید به تعداد دلخواه برنامه بسازید. مثلا میتونید ۶ تا سرور mysql-8 با هم بسازید و استفاده کنید.

دیگر چه ؟

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


آموزش کامل و کاربردی Docker

خوشبختانه داکر به خوبی به زبان فارسی آموزش داده شده و در ضمن یکسری از دوستان هم به صورت رایگان اونارو در اختیار شما قرار دادن.

۱- آموزش داکر از جادی

https://virgool.io/@jadijadi/%D8%AF%D8%B1-%D8%B3%D9%87-%D9%88%DB%8C%D8%AF%D8%A6%D9%88-%D8%A8%D8%A7-%D8%AF%D8%A7%DA%A9%D8%B1-%D8%A2%D8%B4%D9%86%D8%A7-%D8%A8%D8%B4%DB%8C%D9%85-%D9%88-%D9%85%D9%81%D8%A7%D9%87%DB%8C%D9%85-%D8%A7%D8%B5%D9%84%DB%8C-%D8%A7%D8%B4-%D8%B1%D9%88-%DB%8C%D8%A7%D8%AF-%D8%A8%DA%AF%DB%8C%D8%B1%DB%8C%D9%85-lyvjuzutca4r

۲- آموزش داکر از احمد رفیعی

https://dockerme.ir/category/video/

۳- آموزش داکر از احمد طحانی

https://faranesh.com/programming/14863-docker-in-action


البته بین همه این آموزش هایی که توسط دوستان خوبمون تهیه شده من شخصا خودم آموزش آقای جادی پیشنهاد میکنم چون هم فانه و هم آموزش به شدت ساده و کاربردیه

dockerداکرآموزش داکر
من محمد عبدی یه برنامه نویس ام که چندسالی هست توی این دنیا بی پایان دست و پا میزنم. اینجا از تجربیاتم مینویسم.
شاید از این پست‌ها خوشتان بیاید