изображение используется остановленным контейнером
Я пытаюсь удалить контейнер докера с помощью этой команды:
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/