دستورات CLI برای قفل کردن کانتینرهای داکر

docker cli pause unpause container
28 تیر 1404


همه ما می‌دانیم که داکر یکی از ابزارهای محبوب برای ساخت، راه‌اندازی و مدیریت کانتینرهاست. یکی از ویژگی‌های جالب این ابزار قابلیت قفل کردن (pause) کانتینرهاست. این ویژگی به ما این امکان را می‌دهد که کارهای در حال انجام داخل کانتینر را موقتا متوقف کنیم، بی‌آنکه داده‌های آن را از دست بدهیم. فرض کنید که شما در حال اجرای یک برنامه هستید و نیاز دارید که به دلایلی آن را متوقف کنید، ولی نمی‌خواهید تمامی اطلاعات مربوط به وضعیت برنامه را از دست بدهید. اینجا است که دستور قفل کردن به کار می‌آید.


با استفاده از دستور docker pause، می‌توانید کانتینر را متوقف کنید. این دستور به نوبه خود به تمامی پردازش‌های در حال اجرا در آن کانتینر سیگنال SIGSTOP ارسال می‌کند، که باعث متوقف شدن آنها می‌شود. از طرف دیگر، برای ادامه اجرای برنامه در کانتینر، می‌توانید از دستور docker unpause استفاده کنید که سیگنال SIGCONT را به فرایندها ارسال می‌کند و آنها را به حالت اجرایی باز می‌گرداند.


بیاید با هم نگاهی به نحوۀ استفاده از این دستورات و چگونگی عملکرد آنها بیندازیم. برای شروع، شما باید مطمئن شوید که داکر روی سیستم شما نصب و فعال است و همچنین کانتینری که قصد قفل کردن آن را دارید در حال اجراست. بلافاصله پس از این مراحل، می‌توانید از دستور docker ps برای مشاهده لیست کانتینرهای در حال اجرا استفاده کنید.


حالا که از وضعیت کانتینرها مطلع شدید، می‌توانید از دستور docker pause [container-id] برای قفل کردن کانتینر مورد نظر استفاده کنید. همچنین برای ادامه کار، تنها کافی است از دستور docker unpause [container-id] استفاده کنید. این دو دستور می‌توانند به شما کمک کنند تا کنترل بیشتری بر روی کانتینرهای خود داشته باشید.


نمونه کد:


# مشاهده کانتینرهای در حال اجرای داکر
docker ps

# قفل کردن کانتینر با شناسه مشخص
docker pause [container-id]

# ادامه اجرای کانتینر قفل شده
docker unpause [container-id]

توضیحات کد:


docker ps
این دستور لیست کانتینرهای در حال اجرا را نمایش می‌دهد و با استفاده از آن می‌توانید container-id مناسب را پیدا کنید.


docker pause [container-id]
با این دستور، کانتینر با container-id مشخص شده قفل می‌شود و تمامی پردازش‌های آن متوقف می‌شوند.


docker unpause [container-id]
این دستور کانتینری را که قبلاً قفل شده بود، باز می‌کند و پردازش‌های آن دوباره به حالت اجرایی برمی‌گردند.

سوالات متداول

؟

قفل کردن کانتینر داکر به چه معناست؟

؟

چگونه می‌توانم کانتینر قفل شده را دوباره راه‌اندازی کنم؟

؟

آیا قفل کردن کانتینر باعث از دست رفتن داده‌ها می‌شود؟

؟

چطور می‌توانم وضعیت کانتینرهای در حال اجرا را ببینم؟