Как удалить образы, контейнеры и тома Docker
Как удалить образы, контейнеры и тома Docker

Как удалить образы, контейнеры и тома Docker

0 Акции
0
0
0
0

Как удалить образы, контейнеры и тома Docker

Введение

Docker позволяет легко упаковывать приложения и сервисы в контейнеры, чтобы вы могли запускать их где угодно. Однако при работе с Docker легко накапливается большое количество неиспользуемых образов, контейнеров и томов данных, которые загромождают выходные данные и занимают дисковое пространство.

Docker предоставляет все необходимые инструменты для очистки системы из командной строки. Эта памятка представляет собой краткий справочник команд, полезных для освобождения места на диске и организации системы путём удаления неиспользуемых образов Docker, контейнеров и томов.

Как пользоваться этим руководством:

  • Это руководство представлено в форме шпаргалки с отдельными фрагментами командной строки.
  • Перейдите к каждому разделу, соответствующему задаче, которую вы хотите выполнить.

Примечание: Команда подстановки команд, команда $(команда), который используется в командах, доступен во многих популярных оболочках, таких как bash, zsh и Windows Powershell.

Внимание 
Если вам нужен способ одним щелчком мыши развернуть приложение Docker на рабочем сервере, обратите внимание на платформу приложений DigitalOcean.

Удалите все неиспользуемые или зависшие образы, контейнеры, тома и сети.
Docker предоставляет одну команду, которая очистит любые ресурсы — образы, контейнеры, тома и сети, — находящиеся в зависшем состоянии (не помеченные или не связанные с контейнером):

$ docker system prune

برای حذف کانتینرهای متوقف شده و تمام تصاویر استفاده نشده (نه فقط تصاویر آویزان)، پرچم a- را به دستور اضافه کنید:

$ docker system prune -a

حذف تصاویر داکر

حذف یک یا چند تصویر خاص

از دستور docker images با پرچم a- برای پیدا کردن شناسه تصاویری که می خواهید حذف کنید استفاده کنید. این به شما هر تصویر، از جمله لایه های میانی تصویر را نشان می دهد. وقتی تصاویری را که می خواهید حذف کنید پیدا کردید، می توانید شناسه یا برچسب آنها را به docker rmi ارسال کنید:

فهرست:

$ docker images -a

 

حذف:

$ docker rmi Image Image

تصاویر آویزان را حذف کنید

تصاویر داکر از چندین لایه تشکیل شده است. تصاویر آویزان لایه هایی هستند که هیچ ارتباطی با هیچ تصویر برچسب گذاری شده ندارند. آنها دیگر هدفی ندارند و فضای دیسک را مصرف می کنند. آنها را می توان با افزودن پرچم فیلتر f- با مقدار dangling=true به دستور docker images پیدا کرد. وقتی مطمئن شدید که می خواهید آنها را حذف کنید، می توانید از دستور docker image prune استفاده کنید:

توجه: اگر یک تصویر را بدون برچسب گذاری بسازید، تصویر در لیست تصاویر آویزان ظاهر می شود زیرا هیچ ارتباطی با یک تصویر برچسب گذاری شده ندارد. شما می توانید با ارائه یک تگ در هنگام ساخت، از این وضعیت جلوگیری کنید و می توانید با دستور docker tag یک تصویر را به صورت ماسبق برچسب گذاری کنید.

فهرست:

$ docker images -f dangling=true

حذف:

$ docker image prune

حذف تصاویر بر اساس یک الگو

با استفاده از ترکیبی از تصاویر docker و grep می توانید تمام تصاویری را که با یک الگو مطابقت دارند پیدا کنید. هنگامی که راضی شدید، می توانید با استفاده از awk آنها را حذف کنید تا شناسه ها را به docker rmi منتقل کنید. توجه داشته باشید که این ابزارها توسط Docker ارائه نمی شوند و لزوماً در همه سیستم ها در دسترس نیستند:

فهرست:

$ docker images -a | grep "pattern"

حذف:

$ docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

تمام تصاویر را حذف کنید

تمام تصاویر Docker در یک سیستم را می توان با افزودن a- به دستور docker images فهرست کرد. هنگامی که مطمئن شدید که می خواهید همه آنها را حذف کنید، می توانید پرچم q- را اضافه کنید تا شناسه تصویر را به docker rmi ارسال کنید:

فهرست:

$ docker images -a

حذف:

$ docker rmi $(docker images -a -q)

حذف کانتینرها

یک یا چند کانتینر خاص را حذف کنید

از دستور docker ps با پرچم a- برای پیدا کردن نام یا شناسه کانتینرهایی که می خواهید حذف کنید استفاده کنید:

فهرست:

$ docker ps -a

حذف:

$ docker rm ID_or_Name ID_or_Name

 

پس از خروج یک کانتینر را حذف کنید

اگر می‌دانید که زمانی که یک کانتینر ایجاد می‌کنید، نمی‌خواهید پس از اتمام کار، آن را نگه دارید، می‌توانید docker run –rm را اجرا کنید تا به‌طور خودکار هنگام خروج آن را حذف کنید:

اجرا و حذف:

$ docker run --rm image_name
تمام کانتینرهای خروجی را حذف کنید

می‌توانید کانتینرها را با استفاده از docker ps -a پیدا کنید و آنها را بر اساس وضعیتشان فیلتر کنید: ایجاد، راه‌اندازی مجدد، در حال اجرا، توقف موقت یا خروج. برای بررسی لیست کانتینرهای خارج شده، از پرچم f- برای فیلتر بر اساس وضعیت استفاده کنید. وقتی تأیید کردید که می‌خواهید آن کانتینرها را حذف کنید، از f- برای ارسال شناسه‌ها به دستور docker rm استفاده کنید:

فهرست:

$ docker ps -a -f status=exited

حذف:

$ docker rm $(docker ps -a -f status=exited -q)

ظروف را با استفاده از بیش از یک فیلتر خارج کنید

فیلترهای داکر را می توان با تکرار پرچم فیلتر با یک مقدار اضافی ترکیب کرد. این منجر به لیستی از ظروف می شود که هر یک از این شرایط را دارند. برای مثال، اگر می‌خواهید همه کانتینرهایی را که به‌عنوان ایجاد شده (حالتی که هنگام اجرای یک کانتینر با دستور نامعتبر ایجاد می‌شود) یا خارج شده علامت‌گذاری شده‌اند، حذف کنید، می‌توانید از دو فیلتر استفاده کنید:

فهرست:

$ docker ps -a -f status=exited -f status=created

حذف:

$ docker rm $(docker ps -a -f status=exited -f status=created -q)
کانتینرها را طبق یک الگو حذف کنید

می توانید تمام کانتینرهایی را که با یک الگو مطابقت دارند با استفاده از ترکیبی از docker ps و grep پیدا کنید. وقتی از اینکه لیستی را که می خواهید حذف کنید راضی هستید، می توانید از awk و xargs برای ارائه ID به docker rm استفاده کنید. توجه داشته باشید که این ابزارها توسط Docker ارائه نمی شوند و لزوماً در همه سیستم ها در دسترس نیستند:

فهرست:

$ docker ps -a | grep "pattern”

حذف:

$ docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rm

متوقف سازی و حذف تمام کانتیرها

می توانید کانتینرهای سیستم خود را با docker ps بررسی کنید. با افزودن پرچم a- همه کانتینرها نشان داده می شود. وقتی مطمئن شدید که می‌خواهید آن‌ها را حذف کنید، می‌توانید پرچم a- را برای ارائه شناسه‌ها به دستورات docker stop و docker rm اضافه کنید:

فهرست:

$ docker ps -a

حذف:

$ docker stop $(docker ps -a -q)
$ docker rm $(docker ps -a -q)

حذف حجم ها

یک یا چند جلد خاص را حذف کنید – Docker 1.9 و بالاتر

از دستور docker volume ls برای تعیین محل نام جلد یا نام هایی که می خواهید حذف کنید استفاده کنید. سپس می توانید یک یا چند جلد را با دستور docker volume rm حذف کنید:

فهرست:

$ docker volume ls

حذف:

$ docker volume rm volume_name volume_name

حجم های آویزان را حذف کنید Docker 1.9- و بالاتر

از آنجایی که هدف حجم ها این است که مستقل از کانتینرها وجود داشته باشند، هنگامی که یک ظرف برداشته می شود، یک حجم به طور خودکار حذف نمی شود. هنگامی که یک ولوم وجود دارد و دیگر به هیچ ظرفی متصل نیست، به آن ولوم آویزان می گویند. برای تعیین مکان آنها و تأیید اینکه می خواهید آنها را حذف کنید، می توانید از دستور docker volume ls با یک فیلتر استفاده کنید تا نتایج را به حجم های آویزان محدود کنید. هنگامی که از لیست راضی هستید، می توانید همه آنها را با هرس حجمی docker حذف کنید:

فهرست:

$ docker volume ls -f dangling=true

حذف:

$ docker volume prune

یک کانتینر و حجم آن را حذف کنید

اگر یک حجم بدون نام ایجاد کرده اید، می توان آن را همزمان با کانتینر با پرچم v- حذف کرد. توجه داشته باشید که این فقط با حجم های بدون نام کار می کند. هنگامی که ظرف با موفقیت حذف شد، شناسه آن نمایش داده می شود. توجه داشته باشید که هیچ اشاره ای به حذف حجم نشده است. اگر بدون نام باشد، بی سر و صدا از سیستم حذف می شود. اگر نام داشته باشد، بی سر و صدا حضور دارد.

حذف:

$ docker rm -v container_name

نتیجه

این راهنما برخی از دستورات رایج مورد استفاده برای حذف تصاویر، کانتینرها و حجم ها با Docker را پوشش می دهد. بسیاری از ترکیبات و پرچم های دیگر وجود دارد که می توان با هر کدام از آنها استفاده کرد. برای یک راهنمای جامع در مورد آنچه در دسترس است، به مستندات Docker برای سیستم docker prune، docker rmi، docker rm و docker volume rm مراجعه کنید. اگر کارهای پاکسازی معمولی وجود دارد که می‌خواهید در راهنما ببینید، لطفاً در نظرات بپرسید یا پیشنهاداتی ارائه دهید.

برای نگاهی دقیق به اجزای مختلف یک ظرف داکر، اکوسیستم داکر: مقدمه‌ای بر اجزای مشترک را بررسی کنید.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может понравиться

Как установить IBSng на CentOS 6/7

Руководство по установке IBSng на CentOS 6/7 В этой статье приведено руководство по установке IBSng на CentOS 6/7, которое поможет вам…

Как войти на сервер Windows через удаленный рабочий стол

Как подключиться к серверу Windows через удалённый рабочий стол. Программное обеспечение для подключения к удалённому рабочему столу предоставляется бесплатно во всех версиях…