داکر چیست؛ 5 نوع از کامپوننتهای آن
داکر چیست. Docker یک پلت فرم باز برای توسعه، حمل و نقل و اجرای برنامهها است. Docker شما را قادر میسازد تا برنامههای کاربردی خود را از زیرساخت خود جدا کنید تا بتوانید نرم افزار را به سرعت تحویل دهید. برای آن که بدانید داکر چیست میتوان گفت با استفاده از Docker، میتوانید زیرساختهای خود را به همان روشی که برنامههای خود را تنظیم میکنید، مدیریت کنید. با استفاده از روشهای Docker برای ارسال، آزمایش و استقرار سریع کد، میتوانید تأخیر بین نوشتن کد و اجرای آن را به میزان قابل توجهی کاهش دهید. در این مقاله به شما خواهیم گفت Docker چیست و در ادامه با مزیتهای آن آشنا خواهیم شد.
Docker چیست؟
Docker توانایی بسته بندی و اجرای یک برنامه را در یک محیط کاملاً ایزوله به نام کانتینر فراهم میکند. دو قابلیت ایزوله سازی و امنیت به شما اجازه میدهد تا چندین کانتینر را به طور همزمان روی یک سرور مجازی یا اختصاصی اجرا کنید. کانتینرها سبک وزن هستند و شامل همه موارد مورد نیاز برای اجرای برنامه هستند، بنابراین با خرید سرور Hp و یا سرورهای مجازی و اختصاصی، در حین کار میتوانید به راحتی کانتینرها را به اشتراک بگذارید، و مطمئن باشید که همه کسانی که با آنها اشتراکگذاری میکنید، همان کانتینر را دریافت میکنند و به یک روش کار میکند.
اجزای Docker به دو دسته تقسیم میشوند. پایه و پیشرفته، کامپوننتهای اساسی آن عبارتند از Docker Client، Docker image، Docker Daemon، Docker Networking، Docker Registry و Docker Container، در حالی که Docker Compose و Docker swarm اجزای پیشرفته Docker هستند.
Container چیست؟
کانتینر یک نمونه قابل اجرا از یک تصویر است. میتوانید با استفاده از Docker API یا CLI یک کانتینر را ایجاد، شروع، توقف، حرکت یا حذف کنید. همچنین میتوانید یک کانتینر را به یک یا چند شبکه متصل کنید، فضای ذخیرهسازی را به آن متصل کنید یا حتی یک تصویر جدید بر اساس وضعیت فعلی آن ایجاد کنید.
به طور پیش فرض، یک کانتینر به خوبی از سایر کانتینرها و ماشین میزبان آن ایزوله شده است. همچنین شما میتوانید کنترل کنید که شبکه یک کانتینر، ذخیرهسازی یا سایر زیرسیستمهای زیربنایی چقدر از کانتینرهای دیگر یا از ماشین میزبان جدا هستند.
یک کانتینر با تصویر آن و گزینههای پیکربندی که هنگام ایجاد یا شروع آن ارائه میدهید، تعریف میشود.
داکر چگونه کار میکند؟
داکر از معماری کلاینت-سرور استفاده میکند.
1. دیمون داکر
Docker Daemon (dockerd) به درخواستهای Docker API گوش میدهد و اشیاء Docker مانند تصاویر، کانتینرها، شبکهها و حجمها را مدیریت میکند. یک دیمون همچنین میتواند برای مدیریت سرویسهای Docker با دیگر دیمونها ارتباط برقرار کند.
2. کلاینت داکر
کلاینت داکر (داکر) راه اصلی تعامل بسیاری از کاربران داکر با داکر است. وقتی از دستوراتی مانند docker run استفاده میکنید، کلاینت این دستورات را به dockerd میفرستد که آنها را اجرا میکند. دستور docker از Docker API استفاده میکند. کلاینت داکر میتواند با بیش از یک دیمون ارتباط برقرار کند.
به طور خلاصه کلاینت داکر با دیمون داکر صحبت میکند، که کارهای سنگین ساخت، اجرا و توزیع کانتینرهای داکر شما را انجام میدهد. کلاینت داکر و دیمون میتوانند بر روی یک سیستم اجرا شوند، یا میتوانید یک کلاینت داکر را به یک داکر از راه دور متصل کنید. مشتری داکر و دیمون با استفاده از یک REST API، از طریق سوکتهای یونیکس یا یک رابط شبکه با هم ارتباط برقرار میکنند.
انواع کامپوننتهای داکر
1. Dockerfile
ابزار Docker یک بخش حیاتی از ابزار مدیریت پیکربندی در اکثر شرکتهای جهانی است. ابزار Docker یک برنامه را با کمک dockerfile با سطح بالایی از انتزاع و امنیت اجرا میکند. از این رو، بسیاری از شرکتها به طور گسترده از این ابزار برای دستیابی به در دسترس بودن شبکه، تداوم خدمات و ارائه خدمات با مقیاس پذیری بالا استفاده میکنند.
2. Docker image
تصویر داکر الگویی است که حاوی دستورالعملهایی برای کانتینر داکر است. این الگو به زبانی به نام YAML نوشته شده است که مخفف Yet Another Markup Language است.
تصویر Docker در فایل YAML ساخته شده و سپس به عنوان یک فایل در رجیستری Docker میزبانی میشود. تصویر چندین لایه کلیدی دارد و هر لایه به لایه زیر آن بستگی دارد. لایههای تصویر با اجرای هر دستور در Dockerfile ایجاد میشوند و در قالب فقط خواندنی هستند. شما با لایه پایه خود شروع میکنید، که معمولاً تصویر پایه و سیستم عامل پایه شما را دارد و سپس لایه ای از وابستگیها بالاتر از آن خواهید داشت. سپس این دستورالعملها را در یک فایل فقط خواندنی تشکیل میدهند که تبدیل به Dockerfile شما میشود.
3. Docker run
دستور docker run ابتدا یک لایه کانتینر قابل نوشتن روی تصویر مشخص شده ایجاد میکند و سپس با استفاده از دستور مشخص شده آن را شروع میکند. یعنی اجرای docker معادل API /containers/create سپس /containers/(id)/start است. یک کانتینر متوقف شده را میتوان با تمام تغییرات قبلی دست نخورده با استفاده از شروع docker راه اندازی مجدد کرد.
4. Docker Hub
Docker Hub یک سرویس ارائه شده توسط Docker برای یافتن و به اشتراک گذاری تصاویر کانتینر با تیم شما است. این کامپوننت بزرگترین مخزن تصاویر کانتینر در جهان با مجموعه ای از منابع محتوا از جمله توسعه دهندگان جامعه کانتینر، پروژههای منبع باز و فروشندگان نرم افزار مستقل (ISV) است که کد خود را در کانتینرها ایجاد و توزیع میکنند.
5. Docker Engine
Docker Engine یک فناوری کانتینریسازی منبع باز برای ساخت و کانتینر کردن برنامههای کاربردی شما است. Docker Engine به عنوان یک برنامه مشتری-سرور با موارد زیر عمل میکند:
- سروری با فرآیند دیمون طولانی مدت داکر میشود.
- APIهایی که رابطهایی را مشخص میکنند که برنامهها میتوانند از آنها برای صحبت کردن و دستور دادن به Daemon Docker استفاده کنند.
- داکر مشتری رابط خط فرمان (CLI).
CLI از داکر APIها برای کنترل یا تعامل با دایمون داکر از طریق اسکریپت نویسی یا دستورات مستقیم CLI استفاده میکند. بسیاری از برنامههای دیگر Docker از API و CLI زیرین استفاده میکنند. دیمون اشیاء Docker مانند تصاویر، کانتینرها، شبکهها و حجمها را ایجاد و مدیریت میکند.
کلام آخر
در این مقاله فقط یک نمای کلی داکر ارائه شده است، اما کاربردهای بسیار زیادی برای Docker وجود دارد و امروزه در DevOps بسیار ارزشمند است. برای کسب اطلاعات بیشتر در مورد Docker با کارشناسان و متخصصین مجرب وب رمز تماس حاصل نمایید.
سلب مسئولیت: تحریریهی رایااستور در تهیه این محتوای تبلیغاتی نقش نداشته و مسئولیتی در قبال صحت آن ندارد.