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

0 Акции
0
0
0
0

Введение

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

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

Удалить все изображения, контейнеры и тома

Docker предоставляет одну команду, которая очищает любые ресурсы, такие как образы, контейнеры, тома и сети:

docker system prune

Чтобы удалить остановленные контейнеры и все неиспользуемые образы, добавьте -a к команде:

docker system prune -a

Удалить образы Docker

Используйте команду docker images с опцией -a, чтобы найти идентификаторы образов, которые вы хотите удалить. В результате будет показан каждый образ, включая его средние слои. После того, как вы нашли образы, которые хотите удалить, вы можете передать их идентификаторы или теги в docker rmi:

Список:

docker images -a

Удаление:

docker rmi Image Image

Удалить висящие изображения

Образы Docker состоят из нескольких слоёв. Висячие образы — это слои, не связанные ни с одним из помеченных образов. Они больше не выполняют никакой функции и занимают место на диске. Их можно найти, добавив фильтр -f со значением dangling=true к команде docker images. Если вы уверены, что хотите удалить их, используйте команду docker image prune:

Список:

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 в системе можно добавить, добавив Выведите список всех образов с помощью команды docker images. Если вы уверены, что хотите удалить их все, вы можете -q Добавьте, чтобы передать идентификатор образа в Docker рми Отправлять:

Список:

docker images -a

Удаление:

docker rmi $(docker images -a -q)

Удалить (удалить шаблон):

Используйте команду docker ps с опцией -a, чтобы найти имя или идентификатор контейнеров, которые вы хотите удалить:

Список:

docker ps -a

Удаление:

docker rm ID_or_Name ID_or_Name

Удалить все выходные форматы

Вы можете использовать контейнеры с докер пс -а Найдите и отфильтруйте их по статусу: создан, перезапущен, запущен, приостановлен или завершен. Чтобы просмотреть список завершенных контейнеров, используйте опцию -f для фильтрации по статусу. После подтверждения удаления этих контейнеров используйте опцию -q, чтобы передать идентификаторы команде docker rm:

Список:

docker ps -a -f status=exited

Удаление:

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

Удалить шаблон, используя более одного фильтра

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

Список:

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 для передачи идентификатора команде docker rm . Обратите внимание, что эти инструменты не предоставляются Docker и доступны не во всех системах:

Список:

docker ps -a | grep "pattern”

Удаление:

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

Остановите и удалите все шаблоны.

Вы можете проверить контейнеры в вашей системе с помощью команды docker ps. Добавление -a отобразит все контейнеры. Если вы уверены, что хотите их удалить, добавьте -q к командам 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 prune:

Список:

docker volume ls -f dangling=true

Удаление:

docker volume prune

Возьмите шаблон и его объем.

Если вы создали безымянный том, его можно удалить одновременно с контейнером с помощью параметра -v. Обратите внимание, что это работает только с безымянными томами. После успешного удаления тома отображается его идентификатор. Обратите внимание, что об удалении тома ничего не говорится. Если том безымянный, он удаляется из системы без уведомления. Если у него есть имя, он присутствует без уведомления.

Удаление:

docker rm -v container_name

Результат

В этом руководстве рассматриваются некоторые распространённые команды для удаления образов, контейнеров и томов в Docker. Существует множество других комбинаций и флагов, которые можно использовать с каждой из них. Полное описание доступных команд см. в документации Docker по очистке системы. докер, докер рми, докер-рм и том докера rm См. Если вы хотели бы видеть в руководстве какие-либо распространённые задачи по уборке, пожалуйста, спрашивайте или предлагайте их в комментариях.

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

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

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