بهروزرسانی کانتینرها
دستور update برای تغییر پیکربندی یک کانتینر در حال اجرا استفاده میشود، بدون اینکه نیاز به حذف و بازسازی آن باشد. این دستور برای مدیریت منابع پردازنده، حافظه، و سایر محدودیتهای سیستمی بسیار کاربردی است.
🧩 دستور کلی
{{baseURL}}/containers/{{containerId}}/update
📥 مشخصات درخواست (Request)
| فیلد | مقدار |
|---|---|
| Method | POST |
| Endpoint | /containers/{{containerId}}/update |
| Query Parameters | بله |
| Content-Type | application/json |
⚙️ پارامترها (params)
| پارامتر | توضیح |
|---|---|
| blkio-weight | وزن IO برای cgroup. عددی بین 10 تا 1000. |
| cpu-period | دوره زمانبندی CFS برای CPU بهصورت سخت (بر حسب میکروثانیه). |
| cpu-quota | سقف سخت مصرف CPU (بر حسب میکروثانیه). |
| cpu-rt-period | بازه زمانبندی Real-Time برای CPU (بر حسب میکروثانیه). |
| cpu-rt-runtime | حداکثر زمان مجاز اجرای Real-Time روی CPU (بر حسب میکروثانیه). |
| cpu-share | سهم نسبی CPU که به کانتینر اختصاص مییابد. |
| cpuset-cpus | هستههای مشخص CPU برای استفاده (مثلاً 0,1 یا 0-3). |
| cpuset-mems | گرههای حافظه مجاز برای استفاده (NUMA nodes). |
| kernel-memory | محدودیت مصرف حافظه کرنل در کانتینر. |
| kernel-memory-tcp | محدودیت حافظه کرنل مخصوص بافرهای TCP. |
| l3-cache-schema | طرح تخصیص کش L3 (بر اساس Intel RDT/CAT). |
| mem-bw-schema | طرح تخصیص پهنایباند حافظه (بر اساس Intel RDT/MBA). |
| memory | محدودیت کلی حافظه مجاز برای کانتینر. |
| memory-reservation | مقدار حافظه رزروشده بهصورت نرم (soft limit). |
| memory-swap | مجموع حافظه RAM و swap مجاز برای مصرف. |
| pids-limit | حداکثر تعداد پردازشهای مجاز برای کانتینر. |
| resources | مسیر فایل پیکربندی منابع جهت بارگذاری تنظیمات آماده. |
بدنه (body)
روش استفاده (How to Use)
POST {{baseURL}}/containers/{{containerId}}/update?memory=512MB
پاسخ به صورت یک آیدی است که میتوان از وضعیت آن در هر لحظه آگاه شد.
{
"meta": {
"shamsiDate": "14040515110648579",
"requestId": "75aa67e6-4f6d-44e4-be42-9a683f5f1a91"
},
"data": "af884783-92c0-4567-8f15-c5487d3e5c5f"
}
{
"meta": {
"shamsiDate": "14040515130232383",
"requestId": "deaa08a8-8c76-4e08-a2d5-29743d7df921"
},
"data": {
"status": "done",
"queryString": {
"memory": "512MB"
}
}
}
وضعیت پاسخ (Status Codes)
| کد | معنی |
|---|---|
200 OK | درخواست با موفقیت انجام شد |
نکات مهم
این دستور فقط برای کانتینرهای موجود کاربرد دارد و باعث حذف یا راهاندازی مجدد کانتینر نمیشود.
برای اعمال تغییرات گسترده و چند گزینهای، میتوانید فایل resources آماده کنید و با گزینه resources اعمال کنید.
مقدار حافظه میتواند با واحد MB (مگابایت) یا GB (گیگابایت) مشخص شود.
⚙️ خطاهای رایج
| خطا | توضیح |
|---|---|
containerNotFound | زمانی که کانتینر وجود نداشته باشد |