سافت گذر دانشنامه نرم افزار - دانلود رایگان نرم افزار

اطلاعیه های مهم سایت اطلاعیه های مهم سایت
💐 میلاد زینت پدر حضرت زینب سلام الله علیها مبارک باد 💐
 
 
  1. جهت رفع مشکل باز شدن سایت به دلیل بلاک توسط  نود 32 این ویدیو یا این ویدیو(ورژن 9 به بالا) یا راهنمای تصویری را مشاهده کنید
  2. به مناسبت عید غدیر، در سایت https://esetupdate.ir/ تخفیف ویژه‌ای برای محصولات در نظر گرفته شده است؛ فرصت را از دست ندهید. 🌸
  3. اکانت های بروزرسانی نود32 با قیمت های مناسب به صورت یک ، سه ، شش و دوازده ماهه از اینجا قابل خرید می باشد.

نرم افزار های پرکاربرد

ثبت نام | ورود
wepido.ir

افزودن بررسی سلامت به همه کانتینرهای داکر؛ هوم‌لب سرویس‌های خراب را خودکار ری‌استارت می‌کند

افزودن بررسی سلامت به همه کانتینرهای داکر؛ هوم‌لب سرویس‌های خراب را خودکار ری‌استارت می‌کند

نویسنده مقاله در تجربه‌ای واقعی توضیح می‌دهد که چرا بالا بودن یک کانتینر (Container) در داکر (Docker) به معنای سالم بودن سرویس نیست. او پس از بروز خطای پایگاه داده در سرویس Nextcloud، تصمیم گرفت به همه کانتینرهای هوم‌لب (Homelab) خود بررسی سلامت (Health Check) اضافه کند و سپس با یک ناظر خودکار، سرویس‌های ناسالم را ری‌استارت کند.

چرا «در حال اجرا» به معنای «سالم» نیست؟

داکر تنها چرخه عمر کانتینر (Container Lifecycle) را رصد می‌کند؛ یعنی بررسی می‌کند که فرایند اصلی (Main Process) زنده است یا نه. اما این موضوع لزوماً به معنای پاسخ‌دهی صحیح اپلیکیشن داخل کانتینر نیست. نویسنده برای اثبات این ادعا یک کانتینر آزمایشی Nginx ساخت و سپس فایل پیکربندی پیش‌فرض آن را از داخل حذف کرد. در این حالت، دستور curl نشان می‌داد سرویس خراب است، اما docker ps همچنان کانتینر را در وضعیت Up نشان می‌داد.

تجربه Nextcloud و Watchtower

چند هفته پیش، نویسنده از Watchtower برای به‌روزرسانی خودکار ایمیج‌های داکر استفاده می‌کرد. Watchtower یک ایمیج جدید از Nextcloud را دریافت کرد، اما کد جدید جلوتر از شِمای پایگاه داده (Database Schema) بود و خطای نسخه‌شکننده ایجاد کرد. راه‌حل فوری اجرای دستور docker exec nextcloud php occ upgrade بود. با این حال، چون کانتینر در داکر همچنان Up نمایش داده می‌شد، سرویس‌های مانیتورینگ متوجه خرابی اپلیکیشن نشدند.

بررسی سلامت موجود در کانتینرها

نویسنده ابتدا بررسی کرد کدام کانتینرها از قبل Health Check داخلی دارند. از میان ۲۸ کانتینر در حال اجرا، ۱۰ کانتینر بررسی سلامت داشتند و ۱۸ کانتینر دیگر فاقد آن بودند. Nextcloud نیز در دسته بدون بررسی سلامت قرار داشت. او با دستورهای docker inspect و docker exec جزئیات بررسی‌ها را استخراج کرد:

  • بیشتر کانتینرهای دارای Health Check پس از حدود ۹۰ ثانیه (۳ تلاش ۳۰ ثانیه‌ای) خرابی را نشان می‌دادند.
  • سرویس Immich دیرتر عمل می‌کرد و حدود ۱۵ دقیقه طول می‌کشید تا خرابی را گزارش کند.
  • در ۱۸ کانتینر دیگر، وجود curl یا wget بررسی شد؛ بیشتر آن‌ها حداقل یکی از این ابزارها را داشتند، اما چند کانتینر از جمله nextcloud_db هیچ‌کدام را نداشتند.
  • Portainer و beszel-agent حتی شل (Shell) در دسترس ندارند.

افزودن Health Check در Docker Compose

پس از این بررسی‌ها، نویسنده به فایل‌های Docker Compose خود Health Check اضافه کرد و سرویس‌ها را دوباره مستقر کرد. برای نمونه، در فایل Compose مربوط به Stirling PDF خطوطی مانند برچسب autoheal=true و یک healthcheck با دستور CMD-SHELL اضافه شد که با curl وضعیت http://localhost:8080/api/v1/info/status را بررسی می‌کند. تنظیمات این بررسی شامل interval برابر ۳۰ ثانیه، timeout برابر ۵ ثانیه، retries برابر ۳ و start_period برابر ۹۰ ثانیه بود.

ناظر خودکار و ری‌استارت سرویس‌های ناسالم

در مرحله بعد، یک اسکریپت ناظر (Watcher) زیر systemd راه‌اندازی شد. این اسکریپت به جریان رویدادهای وضعیت سلامت داکر (Docker Health-Status Event Stream) گوش می‌دهد و هر زمان وضعیت کانتینری unhealthy شود، آن را ری‌استارت می‌کند. تعداد ری‌استارت‌ها در حافظه ذخیره می‌شود و حداکثر سه بار در ۳۰ دقیقه محدود شده است تا از حلقه بی‌پایان جلوگیری شود. این ناظر فقط روی کانتینرهایی عمل می‌کند که برچسب autoheal=true داشته باشند. هر ری‌استارت و همچنین توقف محافظ حلقه، از طریق کانال ntfy به نویسنده اطلاع داده می‌شود.

برای آزمایش، نویسنده فرایند Java داخل کانتینر Stirling PDF را فریز کرد. حدود ۹۰ ثانیه بعد کانتینر unhealthy شد، ناظر در حدود ۱۰ ثانیه آن را ری‌استارت کرد و حدود ۳۰ ثانیه بعد کانتینر دوباره healthy شد. در مجموع، بازیابی سرویس حدود دو دقیقه طول کشید.

خودری‌استارت شدن با خودترمیمی متفاوت است

نویسنده تأکید می‌کند که این اسکریپت پیکربندی خراب را تشخیص نمی‌دهد و آن را اصلاح نمی‌کند. برای مثال در مورد Nextcloud، اگر اسکریپت در آن زمان فعال بود، فقط می‌توانست کانتینر را ری‌استارت کند؛ اما ری‌استارت به‌تنهایی مهاجرت (Migration) موردنیاز پایگاه داده را اجرا نمی‌کند. به گفته او، خودری‌استارت شدن (Self-Restarting) با خودترمیمی (Self-Healing) یکسان نیست. او احتمال می‌دهد در آینده با افزودن یک مدل زبانی محلی (Local LLM) اسکریپت را ارتقا دهد، اما فعلاً همین وضعیت نیمه‌کاره را قابل نگه‌داشتن می‌داند.

جمع‌بندی

به باور نویسنده، اسکریپت ناظر بخش خسته‌کننده بررسی سلامت کانتینرهای برچسب‌خورده و ری‌استارت آن‌ها را خودکار می‌کند، اما هنوز کامل نیست. با این حال، اگر چند سرویس را به‌صورت خودمیزبان (Self-Hosted) اجرا می‌کنید، داشتن یک Health Check مناسب ضروری است.

نظرتان را ثبت کنید کد خبر: 54987 گروه خبری: اخبار نرم افزار منبع خبر: XDA Developers تاریخ خبر: 1405/07/10 تعداد مشاهده: 64
اخبار مرتبط با این خبر
نظر های کاربران
سرور آپدیت نود 32
پیشنهاد سافت گذر
مجموعه‌ای از آثار هنری سهراب سپهری

مجموعه‌ای از آثار هنری سهراب سپهری

اشعار سهراب سپهری

12 Monkeys

12 Monkeys

۱۲ میمون

لایسنس اورجینال محصولات License ESET NOD32

لایسنس اورجینال محصولات License ESET NOD32

لایسنس محصولات ESET

OPUS Rocket of Whispers

OPUS Rocket of Whispers

فکری و معمایی

Hunter Killer

Hunter Killer

اکشن جنگی دوبله فارسی

GO Weather Premium 6.163 for Android +4.1

GO Weather Premium 6.163 for Android +4.1

اعلام وضعیت آب و هوا گو ودر

QuickLook 4.3.0

QuickLook 4.3.0

پیش‌نمایش سریع فایل‌ها در ویندوز

اعتقاد به ظهور حضرت مهدی علیه السلام

اعتقاد به ظهور حضرت مهدی علیه السلام

آشنایی و معرفت با امام زمان علیه السلام

FastStone Photo Resizer 4.5 Corporate

FastStone Photo Resizer 4.5 Corporate

تغییر سایز عکس

The Mysterious Cities of Gold - Secret Paths

The Mysterious Cities of Gold - Secret Paths

شهرهای اسرار آمیز طلا - مسیرهای مخفی

مجموعه قوانین ساختار واژه‌ها، جمله‌ها، واج‌ها و آواها و معناها

مجموعه قوانین ساختار واژه‌ها، جمله‌ها، واج‌ها و آواها و معناها

دستور زبان انگلیسی به زبان ساده

سخنرانی حجت الاسلام راشد یزدی با موضوع امام حسین (ع) مرد همیشه زنده در تاریخ

سخنرانی حجت الاسلام راشد یزدی با موضوع امام حسین (ع) مرد همیشه زنده در تاریخ

حاج آقا راشد یزدی با موضوع امام حسین (ع) مرد همیشه زنده در تاریخ

وکالت رسمی و غیر رسمی

وکالت رسمی و غیر رسمی

وکالت نامه عادی یا وکالتنامه ضمن سند عادی

The Girl and the Robot

The Girl and the Robot

اکشن نقش آفرینی

The Amber Throne

The Amber Throne

تاج و تخت کهربایی

TweakNow WinSecret Plus 10.1.5

TweakNow WinSecret Plus 10.1.5

بهینه سازی ویندوز

Icecream PDF Candy Desktop Pro 3.21

Icecream PDF Candy Desktop Pro 3.21

تبدیل و ویرایش فایل‌های پی‌دی‌اف

Java SE8 for Programmers 3rd Edition

Java SE8 for Programmers 3rd Edition

آموزش جاوا

Action for 2-4 Players 2.05 for Android +2.3

Action for 2-4 Players 2.05 for Android +2.3

بازی‌های هیجان انگیزه ۲ تا ۴ نفره بر روی تبلت یا گوشی بدون اینترنت

Startup Manager 2.4.2 + Portable

Startup Manager 2.4.2 + Portable

مدیریت برنامه های Startup و افزایش سرعت سیستم

مداحی آماده شده برای دهه اول محرم سال 96 - شب هشتم

مداحی آماده شده برای دهه اول محرم سال 96 - شب هشتم

مداحی برای هشتم محرم 96

CBT Nuggets - IIS 8.5 - Administration of Internet Information Services

CBT Nuggets - IIS 8.5 - Administration of Internet Information Services

فیلم آموزش آی‌آی‌اِس نسخه‌ی هشت‌ونیم – مدیریت سرویس‌های اطلاعاتی اینترنتی

Dead on Arrival 2 1.1.6 for Android

Dead on Arrival 2 1.1.6 for Android

بازی ورود به مرگ

Linux openSUSE Tumbleweed 84.87 / Leap 16.0 / 42.3

Linux openSUSE Tumbleweed 84.87 / Leap 16.0 / 42.3

لینوکس اوپن‌سوزه

سخنرانی حجت الاسلام مومنی درباره تربیت فرزند

سخنرانی حجت الاسلام مومنی درباره تربیت فرزند

تربیت فرزند

کمبود عزت نفس، ریشه‌ی بسیاری از مشکلات رفتاری و ذهنی

کمبود عزت نفس، ریشه‌ی بسیاری از مشکلات رفتاری و ذهنی

عزت نفس داروی معجزه آمیز برای رفع مشکلات

آموزش و شناسایی عیوب و تعمیر در Windows 7

آموزش و شناسایی عیوب و تعمیر در Windows 7

شناسایی عیوب و تعمیر در ویندوز 7

Winxvideo AI 4.11

Winxvideo AI 4.11

ویرایش ویدئو

Kung Fu Strike - The Warrior's Rise

Kung Fu Strike - The Warrior's Rise

ضربت کونگ‌فو - قیام رزم‌آور

progeCAD 2026 Professional 26.0.10.10 / 2025 / 2022 / 2021

progeCAD 2026 Professional 26.0.10.10 / 2025 / 2022 / 2021

پروگ کد

FoneLab Android Data Recovery 3.1.56

FoneLab Android Data Recovery 3.1.56

ریکاوری گوشی اندرویدی

FonePaw Android Data Recovery 6.2.0

FonePaw Android Data Recovery 6.2.0

ریکاوری گوشی اندرویدی در کامپیوتر

افزایش سرعت و کارایی Windows 7 (ویرایش 1.1)

افزایش سرعت و کارایی Windows 7 (ویرایش 1.1)

افزایش سرعت ویندوز سون

قابلیت های امنیتی ویندوز 10

قابلیت های امنیتی ویندوز 10

آشنایی و بررسی قابلیت های امنیتی ویندوز 10

Real Football 2011

Real Football 2011

بازی جذاب فوتبال واقعی 2011

Pocket Radio Player 250414

Pocket Radio Player 250414

رادیو اینترنتی

Autodesk AutoCAD Plant 3D 2027 / 2026.1 / 2025.1 / 2024 / 2022.1.1 / 2021.1.1 / 2020.1 / 2019.2

Autodesk AutoCAD Plant 3D 2027 / 2026.1 / 2025.1 / 2024 / 2022.1.1 / 2021.1.1 / 2020.1 / 2019.2

اتوکد پلنت تری دی

Battle for Wesnoth 1.14.11-57 / LEGACY 1.10.7-39 for Android +2.3

Battle for Wesnoth 1.14.11-57 / LEGACY 1.10.7-39 for Android +2.3

جنگ برای Wesnoth

Blue-Cloner + Blue-Cloner Diamond 13.50.861

Blue-Cloner + Blue-Cloner Diamond 13.50.861

کپی دیسک های بلوری

Delcam ArtCAM Pro 2012 SP2 build 359 x86/x64

Delcam ArtCAM Pro 2012 SP2 build 359 x86/x64

بهترين نرم افزار طراحی مدل سه بعدی و تولید برنامه ماشینکاری CNC

خبرنامه

با عضویت در خبرنامه، زودتر از همه باخبر باش!