Артём Мáлков

Ошибка удаления образа в Docker: image is used by stopped container

9 июл0 коммАртём Мáлков

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

Так, однажды, удаляя очередной ненужный мне образ с помощью команды:

docker rmi IMAGE_ID

я столкнулся со следующей ошибкой:

Error response from daemon: conflict: unable to delete 975fe4b9f798 (must be forced) - image is being used by stopped container d593ff0d57b

Визуально она выглядит так:

Ошибка удаления образа в Docker: image is used by stopped container

Если перевести её, то получим следующую суть:

Образ используется остановленным контейнером d593ff0d57b

Это означает, что у меня (и у вас) есть остановленный контейнер, который использует удаляемый образ.

Чтобы понять, что же за контейнер препятствует удалению образа Docker введите команду (напомню, что все команды я ввожу по SSH и использую для этого программу PuTTY):

docker ps -a

Флаг «-a» позволит вывести все имеющиеся контейнеры, в том числе остановленные. Найти нужный по ранее выданному в ошибке ID не должно составить труда.

Хорошо, с контейнером мы разобрались, что дальше?

Здесь я предлагаю вам два варианта решения (удаления нужного образа). Первый (быстрый) – это запустить команду:

docker rmi -f IMAGE_ID

Здесь IMAGE_ID – ID вашего образа (думаю, вы его знаете, раз столкнулись с этой ошибкой).

Ошибка удаления образа в Docker: image is used by stopped container

Если всё же эту информацию нужно обновить (вспомнить) – воспользуйтесь командой:

docker image list

Она выведет имеющиеся на вашем сервере образы.

Флаг «-f» в команде выше (или «--force») позволяет принудительно удалить образ, минуя тем самым описанную ранее ошибку.

Второй вариант чуть длинней, но не менее сложный. Для начала вам нужно удалить ваш остановленный контейнер командой:

docker rm CONTAINER_ID

CONTAINER_ID не забудьте заменить на ID нужного контейнера.

Ошибка удаления образа в Docker: image is used by stopped container

И уже после удаляете образ командой из начала этого поста:

docker rmi IMAGE_ID

Надеюсь, это помогло без особого труда решить подобную проблему на вашем проекте.

Рекомендуем к просмотру
Как в Ubuntu Server подключиться (и отключиться) к Docker-контейнеру для просмотра его содержимого?
Посты
Ошибка обновления плагинов в WordPress: Обновление не удалось: Не удалось создать директорию
Посты
Правильный перевод секунд в минуты и часы на PHP
Статьи и советы
0
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Подняться наверх
Регистрация на сайте
Pandoge - уникальный проект, который собрал на своих страницах большой опыт многих людей в сфере сайтостроения.Присоединяйся и ты к сообществу, получай неограниченные знания и начинай творить свою мечту!Нажимая кнопку «Регистрация» вы даете согласие на обработку своих персональных данных.
Имя и фамилия
E-mail
Логин
Пароль
Регистрация
Pandoge