Как удалить все локальные изображения Docker Docker
Недавно я начал использовать Docker и никогда не понимал, что вместо ctrl-c
или docker-compose stop
я должен использовать docker-compose down
, чтобы избавиться от моих экспериментов. Теперь у меня есть большое количество ненужных изображений докеров.
Есть ли флаг, который я могу запустить, чтобы удалить все локальные изображения и контейнеры докеров?
Что-то вроде docker rmi --all --force
-all флаг не существует, но я ищу что-то с подобной идеей.
Ответы
Ответ 1
Чтобы удалить все контейнеры, включая его тома,
docker rm -vf $(docker ps -a -q)
Чтобы удалить все изображения,
docker rmi -f $(docker images -a -q)
Помните, что перед удалением всех изображений, из которых были созданы эти контейнеры, вы должны удалить все контейнеры.
Ответ 2
Используйте это, чтобы удалить все:
docker system prune -a --volumes
Удалить все неиспользуемые контейнеры, тома, сети и образы
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all volumes not used by at least one container
- all images without at least one container associated to them
- all build cache
https://docs.docker.com/engine/reference/commandline/system_prune/#extended-description
Ответ 3
docker image prune -a
Удалите все неиспользуемые изображения, а не только болтающиеся. Добавьте параметр -f
в сила.
Локальная версия докера: 17.09.0-ce, Git commit: afdb6d4, OS/Arch: darwin/amd64
$ docker image prune -h
Flag shorthand -h has been deprecated, please use --help
Usage: docker image prune [OPTIONS]
Remove unused images
Options:
-a, --all Remove all unused images, not just dangling ones
--filter filter Provide filter values (e.g. 'until=<timestamp>')
-f, --force Do not prompt for confirmation
--help Print usage
Ответ 4
Чтобы удалить все изображения:
docker rmi -f $(docker images -a | awk {'print $3'})
Объяснение:
докер изображения -a | awk {'print $ 3'}
Эта команда будет возвращать весь идентификатор изображения, а затем использовать для удаления изображения, используя его идентификатор.
Ответ 5
Простые и удобные команды
Удалить все изображения
docker rmi $(docker images -a)
Удалить контейнеры, которые находятся в состоянии выхода
docker rm $(docker ps -a -f status=exited -q)
Удалить контейнеры, которые находятся в созданном состоянии
docker rm $(docker ps -a -f status=created -q)
ПРИМЕЧАНИЕ: удалите все контейнеры, затем удалите изображения
Ответ 6
Вы можете попробовать вот так:
docker system prune
Ответ 7
Чтобы удалить все изображения:
docker rmi $(docker images -a -q)
где -a это все, а -q возвращает только идентификаторы изображений
Чтобы удалить неиспользуемые изображения и контейнеры:
docker system prune
будьте осторожны, как будто вы используете Docker Swarm, и ваш локальный компьютер присоединяется к удаленному Swarm (как администратор/работник), ваш локальный компьютер будет развернутым репо. выполнение этого, таким образом, удаляет развернутые образы.
Ответ 8
Удалить без вызова докера:
rm -rf /var/lib/docker
Это не рекомендуется, если вы можете запустить Docker в обычном режиме, но если по каким-либо причинам вы не хотите, это также удалит все огромные файлы.