آشنایی مقدماتی با داکر
داکر (Docker) و به طور کلی Containerها یکی از داغ ترین تکنولوژیهای روز نرم افزار دنیاست که علیرغم سابقه طولانی استفاده در شرکتهایی مانند گوگل، به تازگی به عرصه عمومی نرم افزار راه پیدا کرده است. در این مطلب معرفی اجمالی بر داکر و وبینار آشنایی مقدماتی با آن خواهیم داشت.
طبق تعریف سایت داکر، داکر یک پروژه متنباز برای بستهبندی، انتقال و اجرای هر برنامهای به صورت یک Container سبک است. containerهای داکر یک تکه از نرمافزار را در یک فایلسیستم کامل بستهبندی میکنند که این فایلسیستم تمام ابزارهای لازم برای اجرا را در بردارد مانند کد، ابزارهای سیستمی، کتابخانههای سیستمی و هرچیزی که بتوانید روی سرور نصب کنید. همین مساله است که تضمین میکند برنامه صرف نظر از محیط اجرای آن، همواره به یک شکل اجرا گردد.
ویژگیهای قابل توجه داکر در زیر آمده است:
۱- سبک بودن: Containerهایی که روی یک ماشین اجرا میشوند از هسته سیستم عامل مشترکی استفاده میکنند بنابراین به سرعت آغاز به اجرا کرده و به نحو بهتری از رم استفاده میکنند. Imageها از فایلسیستمهای لایهبندی شده ساخته میشوند پس میتوانند فایلهای مشترک را به اشتراک گذاشته و به نحو کاراتری از حافظه دیسک استفاده کنند.
۲- باز بودن: Containerهای داکر برمبنای استانداردهای متنباز هستند و باعث میشود که روی تمام توزیعهای اصلی لینوکس و سیستم عامل مایکروسافت قابلیت اجرا داشته باشند.
۳- امن بودن: Containerها برنامهها را از یکدیگر و از زیرساخت خود جدا میکنند و یک لایه اضافه برای محافظت از برنامهها نیز در اختیار قرار میدهند.
در شکل زیر موارد استفاده کلیدی از داکر نشان داده شده است:
اگر حتی یک بار سعی در نصب برنامهها (بیش تر برنامههای تحت وب) کرده باشید، حتما میدانید که یک برنامه برای اجرا، نیاز به اجزای فراوانی دارد. از وب سرور، پایگاهداده، مفسر (برای زبانهای اسکریپتی مثل پایتون یا روبی یا Node.js یا PHP) ماشین مجازی جاوا (برای زبانهای مبتنی بر ماشین مجازی جاوا) و…دارد که نصب هر کدام زمان و انرژی زیادی میطلبد.
حال اگر چندین بار در روز این برنامهها را نصب کنید و یا این که نیاز به بروزرسانی مداوم آن ها باشد… خودتان حدس میزنید که چه انرژی و زمانی از شما گرفته میشود.
قابلیتهای داکر که ذکر شد (از جمله سربار کم، استقلال کامل دو سیستم از هم، در اختیار بودن همه منابع و همچنین اجرا نشدن سرویسها و برنامههای اضافی) آن را به یک انتخاب بسیار مناسب برای نصب و انتقال برنامهها به مکان نهایی و اجرای آن ها بدل میکند.
به نوعی میتوان گفت داکر، نسل بعدی ماشینهای مجازی و به عنوان جایگزینی برای آنهاست هرچند خود از ماشینهای مجازی استفاده کرده ولی کمک میکند که ماشینهای مجازی با سربار کمتری بتوانند کارایی لازم را داشته باشند. حال که شناخت مختصری از داکر به دست آوردید برای آشنایی مقدماتی با نحوه شروع به کار با داکر وبینار بسیار مفید زیر را دنبال کنید.
http://taakproject.com/index.php/2012-09-09-10-30-14/53-docker
منابع:
http://blog.flux7.com/blogs/docker/
https://www.airpair.com/docker/
سلام
مطلب مفیدی بود
ماجرا برای من اینطوری بود که قبلا تیتر این مطلب رو دیده بودم
امروز یکی از دوستام تو دانشگاه اسمش رو آورد
منم روی برگه ی یادداشتم نوشتم که در موردش بخونم
بعد در زمان استراحت که اومدم بخونم، یاد مقاله های اینجا افتادم
مختصر و مفید فهمیدم چیه
دست شما درد نکنه
خسته نباشید
متشکرم