وقت آن است که با مفاهیم و اصطلاحات کلیدی داکر آشنا شویم. درک این مفاهیم برای هر کسی که قصد دارد بهطور جدی در دنیای Docker فعالیت کند، ضروری است.
Container Image (ایمیج کانتینر)
ایمیج یک بسته آماده است که شامل همهی چیزهاییست که برای ساخت و اجرای یک کانتینر نیاز دارید؛ از جمله فایل سیستم، پیکربندیها، و دستورالعملهای اجرای برنامه. ایمیجها معمولاً از چند لایه ساخته میشوند که هرکدام به بهبود عملکرد و ماژولار بودن کمک میکند. پس از ساخته شدن، یک ایمیج قابل تغییر نیست و فقط میتوان از آن برای ساخت کانتینرهای جدید استفاده کرد.
Dockerfile (فایل داکر)
فایلی متنی است که شامل دستورات لازم برای ساخت یک ایمیج است. این فایل با تعیین یک ایمیج پایه شروع میشود و سپس بهکمک دستوراتی مانند نصب پکیجها، کپی فایلها و تنظیمات دیگر، محیطی مناسب برای اجرای برنامه ایجاد میکند.
Build (ساخت)
به فرآیند ساخت یک ایمیج از روی فایل Dockerfile و منابع همراه آن گفته میشود. این کار معمولاً با دستور docker build
انجام میشود.
Container (کانتینر)
کانتینر نسخهی اجرایی یک ایمیج است. هر کانتینر نمایانگر یک اپلیکیشن، سرویس یا فرآیند در حال اجراست. شما میتوانید از یک ایمیج چندین کانتینر بسازید که هرکدام ویژگیها یا نقشهای خاصی داشته باشند.
Volume (حجم داده)
Volumes لایهای قابل نوشتن بر روی ایمیجهای فقطخواندنی (Read-Only) فراهم میکنند تا اپلیکیشنها بتوانند فایلهایی را در زمان اجرا ذخیره کنند. این دادهها در هاست ذخیره میشوند و توسط Docker مدیریت میشوند.
Tag (برچسب)
تگها برای شناسایی نسخههای مختلف یک ایمیج به کار میروند. با استفاده از تگها میتوان بین نسخههای مختلف ایمیج تمایز قائل شد، مثلاً برای توسعه، تست یا محیطهای عملیاتی مختلف.
Multi-stage Build (ساخت چند مرحلهای)
این قابلیت در نسخههای 17.05 به بعد Docker معرفی شد. به کمک آن میتوانید ایمیجهای سبکتری بسازید؛ مثلاً ابتدا اپلیکیشن را در یک ایمیج با SDK کامپایل کرده و سپس خروجی را در ایمیجی سبکتر برای اجرا قرار دهید.
Repository (مخزن)
مخزنی است که مجموعهای از ایمیجهای مرتبط با یکدیگر را ذخیره میکند. نسخههای مختلف یک ایمیج یا انواع مختلف آن (مانند نسخههای مخصوص لینوکس یا ویندوز) میتوانند در یک مخزن نگهداری شوند.
Registry (رجیستری)
رجیستری سرویسی است که امکان ذخیرهسازی و بازیابی ایمیجها از مخازن مختلف را فراهم میکند. رایجترین رجیستری عمومی Docker Hub است، اما شرکتها اغلب از رجیستریهای خصوصی مانند Azure Container Registry استفاده میکنند.
Multi-arch Image (ایمیج چند معماری)
ایمیجهایی که برای معماریهای مختلف (مانند ویندوز یا لینوکس) بهینه شدهاند. Docker بهصورت خودکار بر اساس پلتفرم شما، نسخهی مناسب را انتخاب و دانلود میکند.
Docker Hub
یک رجیستری عمومی است که کاربران میتوانند ایمیجهای خود را در آن آپلود و با دیگران به اشتراک بگذارند. همچنین امکان اتصال به GitHub و Bitbucket برای خودکارسازی فرآیندها فراهم است.
Azure Container Registry
یک رجیستری خصوصی مبتنی بر Azure است که به شرکتها اجازه میدهد کنترل دسترسی و مدیریت کامل روی ایمیجهای خود داشته باشند. این رجیستری با ساختار Azure هماهنگ است.
Docker Trusted Registry (DTR)
نسخهی قابلنصب رجیستری Docker برای استفاده درونسازمانی است. این رجیستری امن برای نگهداری ایمیجهای خصوصی داخل دیتاسنتر یا شبکه شرکت مناسب است.
Docker Community Edition (CE)
نسخهی رایگان Docker برای توسعهدهندگان شخصی یا تیمهای کوچک. این نسخه امکان اجرای کانتینرها بهصورت محلی در ویندوز یا macOS را فراهم میکند و جایگزین ابزارهای قدیمیتر مانند Docker Toolbox شده است.
Docker Enterprise Edition (EE)
نسخهی سازمانی Docker با امکانات پیشرفته، مناسب برای شرکتهای بزرگ که نیاز به مدیریت سطح بالا و یکپارچگی با سایر ابزارهای سازمانی دارند.
Compose
ابزاری برای تعریف و اجرای اپلیکیشنهای چندکانتینری است. شما میتوانید تمام کانتینرهای موردنیاز یک برنامه را در یک فایل YAML مشخص کرده و فقط با یک دستور (docker compose up
) همه آنها را اجرا کنید.
Cluster (خوشه)
گروهی از هاستهای Docker که بهعنوان یک واحد واحد منطقی کار میکنند. این ساختار امکان توزیع و مقیاسپذیری برنامهها را فراهم میکند. ابزارهایی مانند Kubernetes، Docker Swarm و Azure Service Fabric برای ایجاد و مدیریت خوشهها به کار میروند.
Orchestrator (مدیر هماهنگی)
ابزاری برای مدیریت خوشهها، هاستها، کانتینرها، شبکهها، مقیاسپذیری و… است. از محبوبترین orchestrator ها میتوان به Kubernetes اشاره کرد که نقش حیاتی در دنیای مدرن DevOps دارد.
نوین هاست، یار نوین شماست
اگر بهدنبال زیرساختی پایدار، امن و بهینه برای اجرای پروژههای Docker خود هستید، نوین هاست همراه قابلاعتماد شماست. از میزبانی گرفته تا مشاوره تخصصی در زمینه کانتینر و کلود، ما در کنار شماییم. با نوین هاست، به آیندهی فناوری قدم بگذارید.