Docker Swarm یک ابزار ارکستریشن (Orchestration) برای Docker است که به شما اجازه میدهد چندین کانتینر Docker را روی چند سرور مدیریت و هماهنگ کنید.
💡 به زبان ساده:
تصور کن چند جعبه ابزار (کانتینر) داری و میخواهی همه آنها روی چند میز (سرور) به صورت هماهنگ و خودکار کار کنند. Docker Swarm مثل مدیر گروهی عمل میکند که هر جعبه ابزار را سر جای درست میگذارد و مطمئن میشود همیشه آماده استفاده است.
مدیریت چندین کانتینر روی چند سرور به صورت متمرکز
افزایش قابلیت دسترسی و پایداری برنامهها
خودکارسازی Load Balancing بین کانتینرها
سادهتر کردن Deployment و Scaling برنامهها

سهولت استفاده: تنظیمات ساده نسبت به Kubernetes
Load Balancing داخلی: بین کانتینرهای مشابه تقسیم بار میکند
High Availability: اگر یک سرور خراب شود، کانتینرها به سرور دیگر منتقل میشوند
امنیت: ارتباط بین نودها با TLS ایمن میشود

Manager Node: نود اصلی که تصمیمگیری و هماهنگی را انجام میدهد
Worker Node: نودهایی که کانتینرها روی آنها اجرا میشوند
Service: مجموعهای از کانتینرها با یک کار مشخص
Task: هر کانتینر مستقل داخل Service
Overlay Network: شبکه بین چند سرور برای ارتباط کانتینرها
تصور کن چند ربات کوچک داری که قرار است میوهها را از باغ به خانه بیاورند:
Manager Node: رئیس رباتها که میگوید چه میوهای را کجا ببرند
Worker Node: رباتها که میوهها را جابهجا میکنند
Service: کار رباتها مثل جمعآوری سیبها
اگر یکی از رباتها خراب شود، ربات دیگری جای آن را میگیرد (High Availability)
فرض کن یک وبسایت فروشگاهی آنلاین داری:
هر سرویس وب (Front-end, Back-end, Database) داخل یک Service قرار میگیرد
Manager Node کانتینرها را روی Worker Nodeها توزیع میکند
اگر یک Worker Node از کار بیفتد، Docker Swarm کانتینرها را به سرور سالم منتقل میکند
سیستم به صورت خودکار Load Balancing را مدیریت میکند تا کاربران بدون مشکل به سایت دسترسی داشته باشند
هنگام اضافه کردن سرور جدید، Swarm به صورت خودکار آن را به شبکه اضافه کرده و منابع را مدیریت میکند
نتیجه: یک سیستم مقیاسپذیر، پایدار و امن بدون نیاز به دخالت دستی
Docker Swarm ابزاری ساده برای مدیریت و هماهنگ کردن چندین کانتینر Docker است
به تیمها کمک میکند برنامهها را مقیاسپذیر، پایدار و امن اجرا کنند
مثال ساده رباتها و مثال پیشرفته وبسایت نشان میدهد که Swarm چگونه کانتینرها را مدیریت و اتوماسیون میکند