You are here:

داکر - فناوری نوین برای مدیریت سرورها و توزیع آسان برنامه ها

فرستادن به ایمیل چاپ

Tags: تجربیات | تخصصی | داکر

حدود دو سه هفته پیش، سرور جدیدی را برای پروژه فودلیست (که هنوز در مرحله تست است) تهیه کردیم و شروع به نصب برنامه های مختلف مورد نیاز در آن نمودیم . با توجه به اینکه در حال تست نرم افزارهای مختلف و پیکربندی های مختلف بودیم، گاهاً پیش می آمد که به خاطر یک خطای جزئی، مجبور بودیم دوباره نرم افزار نصب شده را کلا پاک کنیم و از ابتدا نصب کنیم  و یا حتی یک بار هم مجبور شدیم کلا ابونتو را از اول نصب کنیم .

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

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

برای استفاده از این بستر، ابتدا باید نرم افزار مدیریتی داکر (docker engine) روی سیستم عامل ما نصب شود . در مرحله بعد، از روی مخزن نرم افزار بسیار کامل آن ، نرم افزار مورد نیاز برای اجرا که تمام تنظیمات آن هم انجام شده است را انتخاب و بارگزاری می کنیم . (به هر نرم افزار پیکربندی شده روی سرور داکر یک ایمیج یا تصویر گفته میشود)

در مرحله بعد اگر نیاز به تغییر در آن داشتیم ، تغییرات را اعمال و آنها را ذخیره و روی مخرن نرم افزار داکر با نام کاربری خودمان ذخیره می کنیمتا برای مراجعات بعدی یا روی سایر سرورها، به جای نسخه اصلی که ابتدا دانلود کرده بودیم ، این نسخه را دانلود و سریعاً استفاده کنیم .

در مرحله بعد آنرا اجرا می کنیم . این نرم افزار درون یک محفظه (container) با رم و سیستم عامل اختصاصی خود کار خواهد کرد و به بقیه سیستم کاری نخواهد داشت و به دلیل مکانیزم ذخیره و اجرای داکر که از امکانات پیشرفته لینوکس (LXC) استفاده کرده است ، به راحتی و با سرعت شروع به کار خواهد کرد .

می توان اینگونه فرض کرد که با داکر ما به جای ایمیج گرفتن از یک سیستم عامل و اجرای آن در VirtualBox یا VMWare ، از یک نرم افزار با تمام پیکربندی و تنظیمات آن یک ایمیج می گیریم و هر جا نیاز شد سریعاً آنرا بارگذاری و اجرا میکنیم .

توصیه می کنم برای اینکه با این فناوری که امروزه در حوزه معماریهای کلان سازمانها بسیار رایج شده است و حتی حدود یک ماه پیش یک وبینار فارسی هم راجع به آن برگزار شده است ، بیشتر آشنا شوید در سایت مرجع داکر ، وارد بخش آزمایش آن شوید و با یک زمان ده دقیقه ای عملا با یک ایمیج داکر کار کنید و با مکانیزم آن آشنا شوید . توی مجله شماره دو سلام دنیا (آبان 93)هم اشاره ای به این فناوری شده است و می توانید به آن مقاله هم مراجعه کنید .

 

نظرات (3)Add Comment
0
...
نویسنده محمد, نوامبر 27, 2014
در پاراگراف‌های آخر نوشتید که "نرم‌افزار مورد نظر درون یک کانتینر و با رم و سیستم عامل اختصاصی خود اجرا میشود "، من دقیقا متوجه نشدم، مثلا وقتی سیستم عامل اصلی ما ویندوز است، میتوان آن نرم‌افزار را روی سیستم عامل دیگری اجرا کنیم؟

ممنونم

بنائی :
نه منظورم این نبود. کانتینر بیشتر مجموعه از فایلها و تنظیمات ذخیره شده روی اونهاست به همراه نرم افزار اصلی که قصد اجرای آنرا داریم که این ها روی سیستم عامل اصلی که معمولا نسخه ای از لینوکس هست اجرا میشوند.
در مورد ویندوز و پشتیبانی داکر اطلاعی ندارم
0
...
نویسنده محمد, نوامبر 28, 2014
ممنونم جناب آقای بنایی از مطلب و همچنین پاسخ

تو داکیونتای داکر ادعا شده که Cross-Platform هست.

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

ممنونم

بنائی :
حدستون درسته و دقیقا تغییرات با توجه به ایمیج پایه ذخیره میشه و این کار، حجم مورد نیاز برای ریپوزیتوری ها را بسیار کاهش می دهد.
0
چه تجربه خوبی
نویسنده داریوش , اكتبر 19, 2015
قسمت اول نوشتتون رو خیلی عالی گفتید .

ممنون

نظرتان را بنویسید
کوچکتر | بزرگتر

busy
آخرین بروزرسانی ( سه شنبه ، 4 آذر 1393 ، 20:55 )