مهمترین اصطلاحات Docker
فهرست مطالب
Docker پلتفرمی منبع باز میباشد که این امکان را برای توسعه دهندگان فراهم میآورد تا بتوانند استقرار، مقیاس گذاری و مدیریت برنامهها را با استفاده از ظروف سبک وزن و قابل حمل خودکار کنند. کانتینرها کد برنامه را همراه با تمامی متعلقات آن بسته بندی و از رفتار سازگار آن در محیطهای مختلف اطمینان حاصل میکنند. با وجود آنکه کانتینرها مفاهیم ناآشنایی نیستند ولی Docker چشم انداز آن را متحول ساخت. در این مقاله به معرفی مهمترین اصطلاحات Docker میپردازیم.
مزایای کلیدی Docker
Docker مزایای زیادی دارد که برخی از آنها به شرح زیر است:
- قابل حمل: کانتینرهای داکر قادر خواهند بود تا بر روی هر پلتفرمی که از داکر پشتیبانی میکند اجرا شوند. این قابلیت مشکل سازگاری را از بین میبرد و این امکان را برای توسعه دهندگان فراهم میآورد تا برنامهها را به صورت محلی ساخته، آزمایش و در نهایت بدون تغییر در محیطهای مختلف مستقر کنند.
- ایزوله: کانتیرهای داکر در محیطهای ایزوله خود عمل میکنند و از تداخل برنامهها با یکدیگر جلوگیری میکنند و راهی امن را برای اجرای چند برنامه در یک میزبان واحد فراهم میآورند.
- مقیاس پذیری: آسان سازی مقیاسبندی برنامهها با اجرای چندین کانتینر در میزبانهای مختلف و حتی در فضای ابری از مزایای Docker به شمار میرود.
- کنترل نسخه: Docker این امکان را فراهم میآورد تا نسخههای تصاویر و بازگشت آسان به نسخههای قبلی را فراهم کند و اطمینان حاصل کند که محیط برنامه سازگار و قابل تکرار باقی میماند.
- و…
مهمترین اصطلاحات Docker
در اینجا به معرفی برخی از مهمترین اصطلاحات Docker میپردازیم:
Image
بستهای سبک، مستقل و قابل اجرا میباشد که شامل کد برنامه، زمان اجرا، کتابخانهها، متغیرهای محیطی و تنظیمات مورد نیاز برای اجرای یک برنامه خاص است. Image به عنوان طرحی ابتدایی برای ایجاد Docker عمل میکند.
کانتیتر (Container)
نمونهای از تصویر داکر است که یک محیط زمان اجرا است و برنامه و متعلقات آن را در بر میگیرد. کانتینرها از سیستم میزبان و سایر کانتینرها جدا میشوند و بدون در نظر گرفتن زیرساختهای زیربنایی، رفتار ثابتی را تضمین میکنند.
Docker file
فایلی متنی است که شامل یک سری دستورالعملها برای ساخت تصویر داکر میباشد. این فایل کد برنامه را کپی، متعلقات را نصب، متغیرهای محیطی را تنظیم و برنامه کانتینریشده را پیکربندی میکند.
Registry
مخزنی مرکزی برای ذخیره و توزیع تصاویر داکر به حساب میآید.
Docker Compose
این ابزار برای تعریف و اجرای برنامههای Docker چند کانتینری است و از یک فایل YAML (معمولاً به نام «docker-compose.yml») برای مشخص کردن سرویسها، شبکهها و حجمهای مورد نیاز برای یک پشته برنامه کامل استفاده میکند.
Volume
حجم داکر یک دایرکتوری تعیین شده در یک کانتینر است که حتی پس از حذف کانتینر، دادهها را حفظ میکند. Volume اشتراک گذاری دادهها را بین سیستم میزبان و کانتینرها یا بین چندین کانتینر امکان پذیر میکند.
Network
داکر میتواند قابلیتهای شبکهای را برای اتصال کانتینرها به هم یا به شبکه میزبان فراهم آورد و امکان ارتباط بین کانتینرهای مختلف و منابع خارجی را فراهم میکند.
Docker Engine
جزئی اصلی است که مسئول اجرا و مدیریت کانتینرهای Docker است. این موتور شامل یک سرور (daemon) و یک رابط خط فرمان (CLI) است که برای تعامل با Docker استفاده میشود.
CLI
ابزاری برای خط فرمان است که برای تعامل با داکر و مدیریت کانتینرها، تصاویر، شبکهها، حجمها و سایر اجزای داکر استفاده میشود.
Swarm
راه حلی بومی است که به کاربران اجازه میدهد تا دستهای از گرههای Docker را ایجاد و مدیریت کنند تا برنامهها را در چندین میزبان مستقر و مقیاسبندی کنند.
Service
وظیفه یا مجموعهای از وظایف را تعریف میکند که باید روی خوشه اجرا شوند. این یک ظرف مقیاس پذیر و طولانی مدت را نشان میدهد که میتواند در چندین گره برای در دسترس بودن بالا تکرار شود.
Kubernetes
مستقیماً بخشی از Docker نیست. اما ویژگیهای قدرتمندی را برای خودکارسازی استقرار، مقیاسبندی و مدیریت برنامههای کانتینری ارائه میدهد.
Docker Registry API
این مشخصات چگونگی تعامل با رجیستریهای Docker را برای فشار، کشیدن و مدیریت تصاویر Docker تعریف میکند.
Overlay Network
این اجازه را به کانتینرها میدهد تا بتوانند به صورت ایمن در چندین گره در خوشه با یکدیگر ارتباط برقرار کنند، حتی اگر روی میزبانهای مختلف در حال اجرا باشند.
Health Check
بررسی سلامت یک ویژگی در Docker است که به شما اجازه میدهد تا دستوراتی را برای بررسی سلامت دورهای کانتینر تعریف نمایید.
Build Cache
هنگام ساخت یک تصویر Docker، کش ساخت لایههای میانی را ذخیره میکند تا سرعت ساختهای بعدی را افزایش دهد.
Docker Hub
این ریجستری عمومی مجموعهای وسیع از تصاویر Docker را میزبانی میکند که کاربران میتوانند آنها را بکشند و در پروژههای خود استفاده کنند.
Private Registry
در زیرساخت سازمان قرار دارد و به تیمها اجازه میدهد تا بتوانند تصاویر سفارشی داکر را به صورت ایمن ذخیره و به اشتراک بگذارند.
Container Orchestration
به مدیریت خودکار، استقرار، مقیاس بندی و شبکه سازی کانتینرها اشاره دارد که معمولاً با ابزارهایی مانند Docker Swarm یا Kubernetes انجام میشود.
بهترین روش های Docker file
روشهای مختلفی برای نوشتن Docker files وجود دارد، مانند به حداقل رساندن لایههای تصویر، استفاده از تصاویر پایه کارآمد، و تمیز کردن مصنوعات غیر ضروری برای ایجاد تصاویر کوچکتر و ایمنتر.
Docker Desktop
ابزاری برای Windows و macOS است که به توسعهدهندگان اجازه میدهد تا کانتینرهای Docker را در ماشینهای توسعه محلی خود ایجاد، اجرا و مدیریت کنند.
Multi-Stage Builds
از جمله ویژگیهای Docker است که به کاربران اجازه میدهد تا بتوانند چندین تصویر میانی بسازند تا اندازه تصویر نهایی را کوچک نگه دارند و در عین حال همه ابزارهای ساخت لازم را نیز در بر دارند.
Container Registry Authentication
در راستای دسترسی ایمن به ثبت کانتینرهای خصوصی، داکر این مکانیسمها را فراهم میآورد تا اطمینان حاصل کند تنها کاربران مجاز قادر انجام برخی از کارها بر روی تصاویر هستند.
Container Security
Docker چندین ویژگی امنیتی مانند فضای نام کاربری، SELinux/AppArmor و گزینههای زمان اجرای کانتینر را برای جداسازی و محافظت از کانتینرها در برابر تهدیدات احتمالی فراهم میکند.
Docker file Linting
این ابزار به توسعه دهندگان کمک میکند تا بتوانند مشکلات احتمالی را شناسایی کرده و هنگام ایجاد تصاویر Docker از بهترین شیوهها پیروی کنند.
Sidecar Containers
کانتینرهای جانبی عملکرد یا پشتیبانی بیشتری از کانتینر برنامه اصلی ارائه میکنند و ماژولار بودن و مقیاسپذیری را افزایش میدهند.
Containerization in Microservices Architectures
به طور گسترده در معماریهای میکروسرویس برای تجزیه برنامههای یکپارچه به خدمات کوچکتر و قابل مدیریت استفاده میشود.
Docker in DevOps
داکر نقش مهمی در شیوههای DevOps ایفا میکند و امکان توسعه سریع، یکپارچهسازی مداوم، استقرار مداوم و همکاری یکپارچه بین تیمهای توسعه و عملیات را فراهم میکند.
و در آخر
Docker به عنوان ابزاری قدرتمند میباشد که روش ساخت، استقرار و مدیریت برنامههای کاربردی را تغییر داده است. بنابراین آشنایی با اصطلاحات و مفاهیم کلیدی Docker امری مهم میباشد. امیدواریم این مقاله به شما در یادگیری مهمترین اصطلاحات کاربردی Docker کمک نماید. جهت کسب اطلاعات بیشتر به وبلاگ پویان آی تی مراجعه نمایید و نظرات و پیشنهادات خود را با ما در میان بگذارید.
به این مقاله امتیاز دهید!
میانگین امتیاز 0 / 5. تعداد رأی ها : 0
هنوز هیچ رأیی داده نشده. اولین نفر باشید!
اولین دیدگاه را اضافه کنید.