همه ما میدانیم که داکر یکی از ابزارهای محبوب برای ساخت، راهاندازی و مدیریت کانتینرهاست. یکی از ویژگیهای جالب این ابزار قابلیت قفل کردن (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]
این دستور کانتینری را که قبلاً قفل شده بود، باز میکند و پردازشهای آن دوباره به حالت اجرایی برمیگردند.