پرش به مطلب اصلی

به‌روزرسانی کانتینرها

دستور update برای تغییر پیکربندی یک کانتینر در حال اجرا استفاده می‌شود، بدون اینکه نیاز به حذف و بازسازی آن باشد. این دستور برای مدیریت منابع پردازنده، حافظه، و سایر محدودیت‌های سیستمی بسیار کاربردی است.


🧩 دستور کلی


📥 مشخصات درخواست (Request)

فیلدمقدار
MethodPOST
Endpoint/containers/{{containerId}}/update
Query Parametersبله
Content-Typeapplication/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زمانی که کانتینر وجود نداشته باشد

🆘 دریافت راهنما