مشاهده توییت های دیگر

Avatar
سیاوش حسین زاده
@syavash_hzd ·
داکر به چه دردی می‌خوره؟ برای اینکه کابوس «رو سیستم من کار می‌کرد» رو تموم کنی

داکر به چه دردی می‌خوره؟ برای اینکه کابوس «رو سیستم من کار می‌کرد» رو تموم کنی

خیلی‌ها فکر می‌کنن Docker قراره اپلیکیشن رو سریع‌تر کنه، اما واقعیت اینه که داکر یعنی Isolation و Consistency. فرقی نمی‌کنه رو مک‌بوک کد می‌زنی یا سرور اوبونتو، وقتی پکیجت توی کانتینر باشه، Runtime در همه جا یکسانه.

داکر با استفاده از قابلیت‌های Kernel لینوکس مثل Namespaces و Cgroups، منابع رو ایزوله می‌کنه بدون اینکه مثل VM سربار سنگین داشته باشه. Namespaces تعیین می‌کنه که یک پردازش چه چیزهایی رو ببینه (مثل شبکه، فایل‌سیستم و یوزرها)، و cgroups تعیین می‌کنه که اون پردازش چقدر از منابع (CPU و RAM) رو مصرف کنه. برخلاف VM که کل یک سیستم‌عامل رو شبیه‌سازی می‌کنه، داکر مستقیما از هسته سیستم‌عامل میزبان استفاده می‌کنه.

یکی از جذاب‌ترین بخش‌های فنی داکر، Layered File System هست. تصویر یا همون Image داکر از لایه‌های مختلف (Read-only) تشکیل شده. وقتی شما تغییری در کانتینر می‌دید، داکر یک لایه‌ی جدید (Writable) روی لایه‌های قبلی اضافه می‌کنه. این یعنی اگه ۱۰ تا کانتینر از یک Image بیس (مثلا Ubuntu) داشته باشید، داکر فقط یک بار اون لایه بیس رو ذخیره می‌کنه. این یعنی صرفه‌جویی شدید در Storage و سرعت فوق‌العاده در بالا اومدن (Startup Time).

در واقع داکر یک لایه‌ی Abstraction هست که پیچیدگی‌های تنظیمات زیرساخت رو مخفی می‌کنه تا توسعه‌دهنده فقط درگیر کد باشه، نه تنظیمات سیستم‌عامل. داکر به خاطر همین معماری لایه لایه، مفهوم Immutability (تغییرناپذیری) رو به چرخه توسعه آورد. چیزی که یک بار Build شده، در تمام مراحل تست و Production دقیقا همونه.

جلوگیری از Environment Drift و مدیریت راحت Dependencies اصلی‌ترین کاریه که انجام می‌ده. بدون داکر، Scale کردن و مدیریت Microservices یه فاجعه‌ی تموم‌نشدنیه. تکنولوژی‌ای که جلوی اصطکاک بیخود بین تیم‌های Dev و Ops رو بگیره، ارزشش از هزارتا Micro-optimization کدی بیشتره.

3

3 دیدگاه

  • توحید رضایی

    دسامبر 30, 2025
    معماری لایه‌ای Docker و مفهوم Immutability که آورده، جلوی خیلی از دوباره‌کاری‌ها رو می‌گیره. به نظرم بزرگترین مزیتش همینه.
  • جمیله طاهری

    ژانویه 1, 2026
    دقیقا همون لایه‌های Read-only داکر باعث می‌شه بیخیال دردسرهای Environment Drift بشیم.
  • دلارام کاظمی

    ژانویه 2, 2026
    اینکه ۱۰ کانتینر از یه ایمیج بیس، فقط یک بار ذخیره می‌شه خیلی خوبه ولی این لایه‌ها موقع اجرا سربار ندارن؟ عملکرد اپلیکیشن کند نمی‌شه؟

دیدگاه خود را بنویسید

ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

خدمات حرفه‌ای تیم من!

با خدمات حرفه‌ای ما در طراحی سایت، پشتیبانی و بهینه‌سازی وردپرس، کسب‌وکار ها نگرانی فنی نخواهند داشت!