Mohammad Jawad Barati
Mohammad Jawad Barati
خواندن ۱ دقیقه·۴ سال پیش

حذف ایمیج توسط Docker API

حذف ایمیج مورد نظر همراه با ایمیج های parent بدون tag اش. یادت باشه که تو این موارد حذف کردن ایمیج ممکن نیست:

  • اگه اون ایمیج base یه ایمیج دیگه باشه.
  • اگه اون ایمیج توسط یه کانتینر یا سرویس دیگه درحال استفاده باشه.
  • اگه اون ایمیج برای build یه ایمیج جدید در حال استفاده باشه

برای حذف ایمیج به این اندپوینت باید ریکوئست DELETE بفرستی

/images/{name}

میتونی آی دی یا اسم اون ایمیج رو بدی.

کوئری استرینگ های

ست کردن کوئری استرینگ force

این کوئری استرینگ باعث میشه که ایمیج رو بزور حذف بکنه.

ست کردن کوئری استرینگ noprune

این کوئری ااسترینگ باعث میشه که ایمیج های بدون تگ parent این ایمیج حذف نشن. البته دقیقا هنوز مفهوم این موضوع رو نفهمیدم.



ریسپانس

ریسپانس ۲۰۰

یعنی ایمیج حذف شده.

در توضیح اینکه چرا آرایه داره بر میگردونه:

وقتی یه ایمیجی رو که از روی یه ایمیج base (مثلا node:12.16.3) ساختی پاک میکنی بهت میگه کدوم تگ رو پاک کردم (یعنی دیگه اون تگ وجود نداره تو لیست ایمیج ها) و کدوم لایه ها رو از توی داکر حذف کردم (تا جایی که من فهمیدم وقتی داکر میاد ایمیج جدید میسازه، نمیاد کلا از روی ایمیجی که به عنوان parent معرفی شده یه ایمیج جدید بسازه. بلکه میاد تغییرات رو به صورت ایمیج های مجزا میسازه و بعدش در نهایت وقتی میگی یه سرویس میخوام میاد اون لایه ها رو روی هم قرار میده و برات سرویس رو میسازه)

مثال: الان node:testapi رو براتون حذف کردم. میگه تگ testapi رو حذف کردم. لایه های زیر رو هم حذف کردم. تو هر لایه یه سری تغییراتی که روی ایمیج اصلی اعمال شده بود نگهداری میشده.

ریسپانس های دیگه


dockerdocker apiremove docker imagenode js develoepr khدر حال تکمیل
برنانه نویس، مدرس، محقق. عاشق انیمه هستم و دنبال چالش ها جدید.
شاید از این پست‌ها خوشتان بیاید