# داکر چیست و چه کاربردی دارد؟
داکر یک پلتفرم نرم افزاری است که به شما امکان می دهد تا برنامه ها را به سرعت بسازید، آزمایش کنید و اجرا کنید. داکر برنامهها را در واحدهای استانداردی به نام کانتینر بستهبندی کرده و همه چیزهایی را که برنامه برای اجرا نیاز دارد از جمله کتابخانهها، ابزارهای سیستم و کد را درون خود نگهداری میکند. با استفاده از Docker، می توانید به سرعت برنامه ها را در هر محیطی مستقر و مقیاس بندی کنید و مطمئن باشید که کد شما به درستی اجرا خواهد شد. داکر، زیرمجموعه ای از پروژه Moby، یک چارچوب نرم افزاری برای ساخت، اجرا و مدیریت کانتینرها بر روی سرورها و فضای ابری است.
در گذشته وقتی می خواستید یک برنامه وب را اجرا کنید، یک سرور می خریدید، لینوکس را نصب می کردید، یک LAMP راه اندازی می کردید و برنامه را اجرا می کردید. اگر برنامه شما محبوب میشد، با راهاندازی سرور دوم و یک load balancer مطمئن میشدید که برنامه در اثر ترافیک زیاد خراب نمیشود.
اما، زمان تغییر کرده است. به جای تمرکز بر روی سرورهای منفرد، اینترنت بر روی آرایههایی از سرورهای وابسته ساخته شده است که معمولاً «ابر» نامیده میشود. به لطف نوآوری هایی مانند namespace و cgroups لینوکس، مفهوم سرور را می توان از محدودیت های سخت افزاری حذف کرد و در عوض، اساساً به یک نرم افزار تبدیل کرد. این سرورهای مبتنی بر نرمافزار را کانتینر مینامند.
# کانتینر داکر چیست؟
هدف اصلی توسعه نرم افزار جدا نگه داشتن برنامه ها از یکدیگر در یک سرور یا کلاستر است. به لطف کتابخانهها، پکیجها و سایر مؤلفههای نرمافزاری مورد نیاز برای اجرای آنها، دستیابی به این امر دشوار است. یکی از راه حل های این مشکل، کانتینرها هستند که محیط های اجرای برنامه را از یکدیگر جدا نگه می دارند، اما هسته اصلی سیستم عامل را به اشتراک می گذارند. کانتینرها همه مزایای ماشین های مجازی را ارائه می دهند، از جمله جداسازی برنامه، یکبار مصرف بودن و مقیاس پذیری مقرون به صرفه.
container یک قالب بسته بندی است که تمام کدها و وابستگی های یک برنامه کاربردی را در قالبی استاندارد بسته بندی می کند که به آن اجازه می دهد تا به سرعت و با اطمینان در محیط های محاسباتی اجرا شود. کانتینر داکر یک کانتینر سبک وزن، مستقل و قابل اجرا است که شامل همه چیزهایی است که برای اجرای یک برنامه لازم است، از جمله کتابخانه ها، ابزارهای سیستم و کد.
خدمات داکر و کانتینر به سرعت مورد استقبال قرار گرفته و در چند سال گذشته موفقیت چشمگیری داشته است. از یک فناوری متن باز تقریباً ناشناخته و نسبتاً فنی در سال 2013، به یک محیط زمان اجرا استاندارد تبدیل شده است که اکنون به طور رسمی برای بسیاری از محصولات سازمانی Oracle پشتیبانی می شود.
# چرا باید از داکر استفاده کنیم؟
یکی از ویژگیهای مهم در مورد تکنولوژیهای منبع باز این است که میتوانید آزادانه انتخاب کنید که از چه فناوری برای انجام یک کار استفاده کنید. موتور داکر می تواند برای توسعه دهندگانی مفید باشد که به محیطی سبک و تمیز برای آزمایش نیاز دارند، اما نمیخواهند کارهای پیچیده انجام دهند. اگر Docker در سیستم شما در دسترس است و همه اطرافیان شما با زنجیره ابزار Docker آشنا هستند، Docker Community Edition راهی عالی برای شروع کار با کانتینرها است.
- کانتینرهای داکر را می توان در هر دیتاسنتر، دسکتاپ و محیط ابری بدون هیچ تغییری اجرا کرد.
- به طور خودکار یک کانتینر بر اساس سورس کد برنامه ایجاد می کند.
- کانتینرهای داکر را میتوان نسخه بندی کرد و بین نسخهها حرکت کرد.
- داکر یک انتخاب مناسب و مقرون به صرفه برای ماشین های مجازی مبتنی بر Hypervisor ارائه می دهد و همچنین برای محیط های با تراکم بالا و برای استقرارهای کوچک و متوسط عالی است.
# داکر از چه مواردی تشکیل شده است؟
بیایید اکنون به طور مفصل در مورد عبارات مهمی که به ایجاد برنامههای کانتینری داکر کمک میکنند، مانند Daemon، کلاینت و اشیاء Docker صحبت کنیم:
+ داکر daemon
داکر Daemon درخواست های API را نظارت می کند و اشیاء داکر مانند کانتینرها، ایمیج ها، والیوم ها و نتورک ها را کنترل می کند. برای مدیریت سرویسهای داکر، دیمون میتواند با دیمونهای دیگر نیز ارتباط برقرار کند.
+ داکر کلاینت
داکر کلاینت اصلی ترین راه ارتباطی بین کاربران داکر با داکر است. کلاینت دستورات (docker API) استفاده شده توسط کاربران مانند docker run را به داکر ارسال می کند. برای مدیریت خدمات داکر، داکر کلاینت می توانند با بیش از یک دیمون ارتباط برقرار کنند.
+ داکر آبجکت
ایمیجهای داکر، کانتینرها، نتورک ها، والیوم ها، پلاگین ها و غیره آبجکتهای داکر هستند.
+ داکر compose
Docker Compose برای ساده سازی فرآیند توسعه و آزمایش برنامه های کاربردی چند کانتینری استفاده می شود. یک فایل YAML ایجاد می کند و تعیین می کند که کدام خدمات در برنامه گنجانده شود.
+ داکر swarm
Docker شامل ابزار orchestration خود به نام Swarm است. این ابزار به شما امکان می دهد چندین کانتینر مستقر در چندین ماشین را مدیریت کنید. مزیت اصلی استفاده از آن ارائه سطح بالایی از در دسترس بودن برای برنامه ها است.
ارسال نظر