Как физически удалить немаркированные изображения докеров
когда я запускаю команду, такую как sudo docker rmi me/myimage, я получаю ответ... изображение немаркировано, но когда я перезапускаю файлы sudo docker, я вижу, что это "непомеченное" изображение все еще существует, и, если Я запускаю df -h, я вижу, что фактические файлы все еще существуют и занимают пространство файловой системы.
Какую команду или процедуру я могу использовать для физического удаления ненужных изображений?
Ответы
Ответ 1
Вы должны иметь возможность удалять немаркированные изображения Docker с помощью флага "dangling=true"
:
sudo docker rmi $(sudo docker images -f "dangling=true" -q)
Источник:
https://docs.docker.com/engine/reference/commandline/images/
Ответ 2
Сначала вам нужно удалить вышедшие контейнеры, а затем удалить висящие изображения.
docker rm $(docker ps -q -f status=exited)
docker rmi $(docker images -q -f dangling=true)
В конце концов, я создал приведенный ниже скрипт как ~/bin/dclean и использую его.
#!/bin/sh
processes=$(docker ps -q -f status=exited)
if [ -n "$processes" ]; then
docker rm $processes
fi
images=$(docker images -q -f dangling=true)
if [ -n "$images" ]; then
docker rmi $images
fi
Ответ 3
Если решение John Petrone не работает, попробуйте удалить эти образы, явно ссылаясь на IMAGE ID
, которые вы видите при запуске docker images
. Вы можете удалить все из них одной командой
for i in
sudo docker images | grep\| awk '{print $3}' ; do sudo docker rmi $i; done
PD: Я не знаю, как ответил Джон Петрон. Он отлично работает с Docker 1.4.1
Ответ 4
вы можете удалить отдельные изображения по их идентификатору изображения...
docker images
docker rmi <image-id>
Ответ 5
Эта команда также работает
docker rmi $(docker images | grep "^<none>" | awk '{print $3}')
Удалите изображения с силой, чтобы отказаться от остановленных контейнеров, которые могут использовать изображение
docker rmi -f $(docker images | grep "^<none>" | awk '{print $3}')
Ответ 6
Эта команда удалит все свисающие изображения и контейнеры из докера.
docker system prune -f