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

Я пытаюсь удалить контейнер докера с помощью этой команды:

docker rmi <Image-Id>

Очевидно, что я заменил Image-Id на Id, которые я использую:

docker images

Но я вижу ошибку ниже:

Error response from daemon: conflict: unable to delete <Image-ID> (must be forced) - image is being used by stopped container xxxxxxxxxxx

Ответы

Ответ 1

Вы также можете использовать --force, -f удаление изображения

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

  docker rmi -f <image_id> 

Ответ 2

Вам нужно удалить остановленный контейнер с docker rm, а затем вы можете удалить изображение, которое оно использует с docker rmi.

Ответ 3

Вы также можете обнаружить, что остановили контейнеры, вызывающие блокировку. Сначала удалите их, используя:

docker rm  $(docker ps -q -a)

Здесь мы перечисляем процессы докера только по идентификатору, а затем удаляем их; однако docker rm удалит только остановленные контейнеры.

Затем вернитесь и удалите изображения, используя:

docker image rm <image_id>

Ответ 4

Если вы изменились в Dockerfile и используете docker compose, вы можете просто перестроить свой образ, запустив docker-compose с --build !

Ответ 5

Контейнеры Docker запускаются поверх образов Docker, вы можете удалить изображение, только если оно не прикреплено ни к какому контейнеру.! Поэтому вы должны остановить контейнер и удалить контейнер, затем вы можете удалить идентификатор изображения.

Docker Stop-ID контейнера и docker rm идентификатор контейнера

Затем попробуйте удалить изображение Докер rmi image-id

Некоторая дополнительная информация приведена в ссылке ниже. Приветствия.!

https://docs.docker.com/config/pruning/