امروز میخواهیم به یکی از قابلیتهای عجیب در داکر بپردازیم یعنی Daemonless Containers.
مقدمه:
داکر به عنوان محبوبترین ابزار کانتینریسازی، برای مدیریت کانتینرها به یک سیستم مرکزی یا Docker Daemon وابسته است. اما در سالهای اخیر، مفهوم کانتینرهای بدون Daemon (Daemonless Containers) مطرح شده است که با حذف وابستگی به Daemon، انعطافپذیری بیشتری را ارائه میدهند. Docker Daemon (با نام کامل dockerd) یک فرآیند پسزمینه در معماری داکر است که این سرویس مرکزی به درخواستهای کلاینت داکر پاسخ میدهد و عملیات مربوط به کانتینرها، ایمیجها، شبکهها و ذخیرهسازی را مدیریت میکند. از جمله وظایف این بخش عبارتند از:
- مدیریت ایمیجها.
- تسلط بر RESR API.
- ساخت ایمیج.
- احراز هویت (Authenticating).
- تأمین امنیت.
- مدیریت شبکه.
- مدیریت خودکار کانتینرها (Orchestration).
فعالسازی live restore:
Live Restore یکی از قابلیتهای پیشرفته داکر است که به شما این امکان را میدهد که در صورت خاموش شدن یا راهاندازی مجدد Docker Daemon، کانتینرها به کار خود ادامه دهند و حتی اگر شما سرویس داکر را متوقف کنید.
یا dockerd را از دسترس خارج کنید باز هم کانتینرها در وضعیت running خواهند بود.
به طور پیشفرض، اگر Docker Daemon خاموش یا ریاستارت شود، کانتینرها نیز متوقف میشوند. اما با فعالسازی Live Restore، کانتینرها بدون وابستگی به Daemon به فعالیت خود ادامه خواهند داد.
مزایای استفاده از Live Restore:
- بهبود پایداری سرویسها: کانتینرها حتی در صورت خرابی یا راهاندازی مجدد Daemon متوقف نمیشوند و همچنان به درخواستها پاسخ میدهند.
- حداقل کردن Downtime: این قابلیت برای محیطهای حساس به downtime بسیار مفید هستند.
- پشتیبانی از عملیات نگهداری (Maintenance): امکان بهروزرسانی یا رفع اشکال Docker Daemon بدون ایجاد اختلال در عملکرد کانتینرها.
نکته قابل توجه!
توجه داشته باشید که windows container ها از قابلیت live restore پشتیبانی نمیکنند.
فعال کردن قابلیت live restore در داکر:
- بررسی وضعیت live restore:
با استفاده از دستور docker info و مراجعه به آخرین بخش میتوانید گزینۀ live restore را مشاهده کنید که به طور پیشفرض در حالت no قرار دارد. برای تجربۀ Daemonless Containers باید این گزینه را فعال کنید. - رفتن به مسیر etc/docker/:
برای این کار باید به مسیر etc/docker/ بروید و در فایلی به نام daemon.json تغییراتی انجام دهید. این مسیر شامل فایلهای پیکربندی و تنظیمات مختلف برای Docker Daemon و ابزارهای دیگر مرتبط با Docker میشود - ایجاد فایل daemon.json:
با دستور vim /etc/docker/daemon.json وارد فایل daemon.json میشویم. حال شما باید به فایل daemon.json بروید. (اگر این فایل را نداشتید میتوانید آن را ایجاد کنید). در این قسمت شما میتوانید فایل مورد نظر را ویرایش کنید. - هنگامی که وارد فایل daemon.json در مسیر etc/docker/ شدید؛ باید دستور زیر را در این فایل وارد کنید:
{
“live-restore”: true
} - سپس آن را ذخیره کرده و با دستور systemctl restart docker.service میتوانید داکر خود را دوباره راهاندازی کنید. برای اطمینان از صحت کارکرد دوباره داکر میتوانید از دستور systemctl status docker.service مطمئن شوید.
بدین صورت اگر دوباره از دستور docker info استفاده کنید در پایان خروجی خواهید دید که live restore به صورت true درآمده است.
امیدوارم که این مقاله برای شما مفید بوده باشه. برای دسترسی به مقالههای قبلی برروی این قسمت <<کلیک>> کنید. همچنین میتوانید از این قسمت برای دسترسی به ترجمۀ ویکی داکر استفاده کنید.