ادامه اجرای کانتینر
دستور resume برای ادامه اجرای کانتینری بهکار میرود که قبلاً با دستور pause به حالت توقف موقتی درآمده است. با این دستور، پردازشهایی که در کانتینر متوقف شدهاند، از همان نقطه ادامه پیدا میکنند.
🧩 دستور کلی
k3 container resume [options] <containerId>
آرگومانها:
containerId: شناسهی کانتینری که میخواهید ادامه اجرای آن را بدهید
⚙️ گزینهها (Options)
| گزینه کوتاه | گزینه بلند | توضیح |
|---|---|---|
-t | --time <seconds> | مدتزمان (به ثانیه) که سیستم برای ادامه اجرای کانتینر منتظر میماند |
-h | --help | نمایش راهنمای کامل دستور |
📥 مثالهای کاربردی
✅ ادامه اجرای کانتینر با شناسه:
k3 container resume cont5
⏱ ادامه اجرا با زمان انتظار مشخص:
k3 container resume --time 5 cont5
⚠️ خطا در صورت اجرای دستور روی کانتینر غیر pause شده:
اگر کانتینر در وضعیت paused نباشد، اجرای این دستور با خطا همراه خواهد بود. میتوانید ابتدا لیست کانتینرهای pause شده را ببینید:
k3 container list --status paused
اگر کانتینری در این لیست وجود نداشته باشد، نمیتوانید آن را resume کنید.
خطاها و راهحلها
خطا: "Container is not in a paused state"
پیام کامل:
Error resume the container:
{
"type": "INVALID_STATE",
"message": "Container is not in a paused state. Pause it first before resuming.",
"statusCode": 400
}
دلایل:
- کانتینر در حال اجرا است (
Running: true) - کانتینر pause نشده است (
Paused: false) - کانتینر متوقف شده است (
Stopped: true)
راهحل:
ابتدا مطمئن شوید که کانتینر در وضعیت paused است:
k3 container list --status paused
اگر کانتینر در حال اجرا یا متوقف است، ابتدا آن را pause کنید:
k3 container pause <containerId>
سپس میتوانید resume کنید:
k3 container resume <containerId>
نکات مهم
-
این دستور فقط روی کانتینرهایی قابل اجراست که وضعیت آنها
pausedباشد. -
برای متوقف کردن موقتی یک کانتینر، ابتدا از دستور
k3 container pauseاستفاده کنید. -
این دستور برای سناریوهایی کاربرد دارد که اجرای کانتینر باید موقتاً متوقف و سپس از همان نقطه ادامه پیدا کند (بدون ریست یا حذف).
-
اگر هیچ کانتینری در وضعیت
pausedوجود نداشته باشد، دستور resume نمیتواند اجرا شود. -
وضعیت کانتینر باید دقیقاً
pausedباشد؛ اگر کانتینرrunningیاstoppedباشد، resume ممکن نیست.
⚠️ یادآوری: اگر کانتینر بهدلایلی در زمان مشخص شده
--timeاز حالت pause خارج نشود، دستور ممکن است با خطا یا timeout مواجه شود.
تست جامع
#!/bin/bash
echo "Starting k3 container resume tests..."
echo "[1] Checking paused containers before resume"
sudo k3 container list --status paused
echo
echo "[2] Pause a running container first"
sudo k3 container pause cont5
echo
echo "[3] Resuming cont5 (after pausing)"
sudo k3 container resume cont5
echo
echo "[4] Resuming cont5 with --time 5"
sudo k3 container pause cont5
sudo k3 container resume --time 5 cont5
echo
echo "[5] Trying to resume a running container (should fail)"
sudo k3 container resume cont5
echo
echo "[6] Trying to resume nonexistentContainer (should fail)"
sudo k3 container resume nonexistentContainer
echo
echo "[7] Checking paused containers after resume"
sudo k3 container list --status paused
echo
echo "[8] Checking running containers"
sudo k3 container list --status running
echo
echo "All resume tests completed."
🆘 دریافت راهنما
برای مشاهدهی راهنمای کامل این دستور در خط فرمان:
k3 container resume -h