Удалить образ и контейнер докера

КАК УДАЛИТЬ ОБРАЗЫ И КОНТЕЙНЕРЫ ДОКЕРА?

Удалить образы и контейнеры докера

КАК УДАЛИТЬ ОБРАЗЫ И КОНТЕЙНЕРЫ ДОКЕРА?

Запущенные образы и контейнеры без угрызения совести занимают ресурсы компьютера, даже тогда, когда Вы их уже не используете. Поэтому, чтобы не грузить машину лишними прожорливыми «хвостами», рекомендуется своевременно закрывать ставшие ненужными образы и контейнеры.

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

При удалении контейнеров и образов, мы будем добавлять к командам флаги: -a и -q.
Флаг -a эквивалентен — -all и означает, что нужно применить команду ко всем элементам
Флаг -q эквивалентен — — quiet и позволяет получить только идентификаторы элементов

УДАЛЯЕМ КОНТЕЙНЕРЫ

1.Узнаем ID контейнера или контейнеров, которые нужно закрыть

Для удаления контейнера нам нужно знать его идентификатор. Получить информацию о всех созданных контейнерах можно с помощью команды:

docker ps -a

Идентификаторы контейнеров выведены в столбце CONTAINER ID:

Удалить контейнер докера
Как узнать ID контейнера?

2. Удаляем один или несколько контейнеров

Для удаления контейнеров существует команда:

docker rm <ID контейнера или ID нескольких контейнеров, записанных через пробел>

ПРИМЕРЫ УДАЛЕНИЯ КОНТЕЙНЕРОВ:

  • Рассмотрим пример удаления контейнера с ID=b3026c5a9fa5. В данном случае потребуется ввести:
docker rm b3026c5a9fa5
  • Для удаления двух контейнеров с идентификаторами: 5b712b5f26f4 и 7с3860367367, потребуется ввести:
docker rm 5b712b5f26f4 7с3860367367

3. Удаляем все контейнеры

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

docker rm $(docker ps -a -q)

УДАЛЯЕМ ОБРАЗЫ ДОКЕРА

1. Узнаем имена и идентификаторы образов, которые нужно закрыть

Для того, чтобы получить информацию о запущенных образах, нужно ввести команду:

docker images
Как удалить образ докера
Как узнать ID и имя образа докера?

В столбце «REPOSITORY» можно узнать имя, а в столбце «IMAGE_ID» — идентификатор образа, который нужно закрыть.

2. Удаляем один или несколько образов

Для удаления одного или нескольких образов, нужно ввести команду:

docker rmi <имя или ID одного или нескольких образов, записанных через пробел>

ПРИМЕРЫ УДАЛЕНИЯ ОБРАЗОВ:

  • Например, для удаления образа по имени «tort», наберем:
docker rmi tort
  • А для удаления двух образов с именами «tort» и «ubuntu», введем:
docker rmi tort ubuntu

Если при удалении образа возникает подобная ошибка:
Error response from daemon: conflict: unable to remove repository reference «tort» (must force) — container ee130eb8eaf5 is using its referenced image 60a325a15a7e, это значит, что Вы поспешили с закрытием образа, забыв предварительно удалить связанные с этим образом контейнеры. О том, как удалить контейнеры, смотрите информацию выше, в предыдущем разделе статьи.

4. Удаляем все образы

Для удаления всех образов введем команду:

docker rmi $(docker images -q)

Если при удалении образов возникнут подобные ошибки:
Error response from daemon: conflict: unable to delete 51d053942024 (must be forced) — image is referenced in multiple repositories
или такие:
Error response from daemon: conflict: unable to delete b0d6bcf625c7 (cannot be forced) — image has dependent child images
Тогда можно:
1.Удалить образ принудительно, добавив к командам удаления флаг -f:
docker rmi <имя или ID образа> -f
2.Удалить все образы принудительно:
docker rmi $(docker images -q) -f

Как известно, «чистота — залог здоровья»! Поэтому будем считать, что удалив ненужные образы и контейнеры докера, мы выполнили миссию компьютерного доктора и добавили здоровья своей рабочей лошадке!

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

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