داکر چیست؟

داناک-لوگو-داکر
danak.docker

کانتینرها :

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

داکر چیست؟

داکر ابزار ساخت و مدیریت کانتینرها است. با داکر می‌توان اپلیکیشن‌ها را کانتینریزه کرد و سپس آن را به محیط دیگری انتقال داد و مستقر کرد (Deploy). توسعه اپلیکیشن‌ها امروز دیگر به سادگی گذشته نیست. زبان‌ها، فریم‌ورک‌ها، معماری‌ها و اینترفیس‌های گوناگونِ اپلیکیشن‌ها در هر مرحله از مسیر توسعه آنها باعث ایجاد پیچیدگی‌های بسیار شده است. داکر مسیر توسعه و استقرار محصول را آسان‌تر و سریع‌تر کرده است.

کانتینرها و اپلیکیشن‌های داکریزه شده در ایجاد محیط ایزوله با ماشین‌های مجازی شباهت دارند. اما در داکر دیگر کل سیستم‌ عامل مجازی‌سازی نمی‌شود و اپلیکیشن از سیستم‌ عامل میزبان استفاده می‌کند.

مزایای داکر:

۱- سبک بودن داکر

میزان مجازی‌سازی در داکر بسیار کمتر از ماشین‌های مجازی است. به این ترتیب که آنها در سطح پردازش مجازی‌سازی می‌شوند و یک سیستم‌عامل را به طور کامل مجازی‌سازی نمی‌کنند و از کرنل سیستم‌عامل هاست استفاده می‌کنند. این موضوع آنها را به شدت سبک می‌سازد و به آنها این اجازه را می‌دهد که به آسانی اجرا شوند.

کانتینر‌ها از یک لحاظ دیگر نیز سبک هستند. اگر چندین کانتینر در یک لایه باشند آنها می‌توانند چند لایه را میان خودشان به اشتراک بگذارند.

۲- پرتابل بودن

 تمام متعلقات اجرای اپلیکیشن درون کانتینر قرار می‌گیرد تا بتواند روی هر هاست داکری اجرا شود.

۳- قابل پیش‌بینی بودن

داکر کاری ندارد درون کانتینر چیست و کانتینر نیز با عملیاتی که داکر انجام می‌دهد، کاری ندارد. تمام اینترفیس‌ها استاندارد شده هستند و ارتباطات میان آنها از قبل پیش‌بینی شده است.

۴-مدیریت و ارتقای آسان

با طراحی صحیح اپلیکیشن می‌توان به آسانی آن را در مراحل تست یا تولید ارتقا داد. با داکر اپلیکیشن‌ها به کامپوننت‌های مدیریت‌پذیر و کاربردی تبدیل می‌شوند که عملیات‌های ارتقا و به‌روزرسانی را نیز آسان می‌سازد.

سیستم هاست با متعلقات درون کانتیر کاری ندارد. تا زمانی که داکر را می‌تواند اجرا کند، کانتینرهای داکر نیز می‌توانند روی آن سیستم اجرا شوند. به این ترتیب دیگر ادمین‌های هاست و عملیات با متعلقات درون کانتینرها کاری ندارند.

۵- فایل‌های داکر

برای بیلدهای تکراری و دائمی استفاده از فایل‌های داکر (Docker Files) بسیار سودمند است. اگر مراحل پیکربندی را یک‌بار درون فایل داکر ذخیره کنیم، آنگاه برای همیشه می‌توانیم از آن استفاده کنیم.

ویژگی‌های فایل‌های داکر:

-ساخت نسخه‌های متعدد (versioning) آسان می‌شود.

-پیش‌بینی‌ پذیری فایل‌های داکر‌ از اشتباهات انسانی می‌کاهد.

-قابلیت اشتراک گذاری فایل‌های داکر به کاربران اجاره می‌دهد با قرار دادن فایل‌های داکر در اختیار دیگران آنها را از چگونگی انجام کار مطلع ساخت.

-انعطاف‌پذیری در استفاده از فایل داکر پیش‌فرض‌ها را برای بیلدها نادیده می‌گیرد و به وسیله آن بدون انجام اجراهای متعدد می‌توان فانکشن‌های مختلف ساخت.

معماری اپلیکیشن‌‌های کانتینریزه شده

بهترین عملکرد را اپلیکیشن‌های کانتینریزه شده با طراحی service-oriented‌ دارند.

اپلیکیشن‌های service-oriented‌ کارکردهای سیستم را به چندین کامپوننت تقسیم می‌کنند که از طریق اینترفیس‌ها به خوبی با یکدیگر ارتباط برقرار می‌کنند. به این ترتیب هر کدام از کامپوننت‌ها می‌توانند به طور مستقل ارتقا یابند.

این اپلیکیشن‌ها باید این ویژگی‌ها را داشته باشند:

۱-آنها نباید به هیچ ویژگی سیستم هاست متکی باشند.

۲-هرکدام از کامپوننت‌ها باید API مخصوص خود را داشته باشند تا بتوانند از آن استفاده کنند.

۳-هر سرویس باید نشانه‌هایی را از متغیرهای محیطی خود هنگام پیکربندی اولیه بردارد.

۴-دیتای اپلیکیشن باید خارج از کانتینر ذخیره شود.

این ویژگی‌ها کمک می‌کنند تا هر کدام از کامپوننت‌ها را به تنهایی بتوان به تنهایی تغییر یا ارتقا داد.

استفاده از داکر رجیستری برای مدیریت کانتینرها

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

Share on twitter
Share on linkedin

Post a Comment

مشاوره رایگان

نیاز به مشاوره دارید؟ واحد پشتیبانی داناک آماده پاسخگویی به سوالات شماست!