我最近开始使用Docker,从未意识到我应该使用Docker compose down而不是ctrl-c或Docker composestop来摆脱我的实验。我现在在本地有大量不需要的docker图像。
我是否可以运行一个标志来删除所有本地docker图像和容器?
类似docker rmi-all-force-all-flag的东西不存在,但我正在寻找具有类似想法的东西。
我最近开始使用Docker,从未意识到我应该使用Docker compose down而不是ctrl-c或Docker composestop来摆脱我的实验。我现在在本地有大量不需要的docker图像。
我是否可以运行一个标志来删除所有本地docker图像和容器?
类似docker rmi-all-force-all-flag的东西不存在,但我正在寻找具有类似想法的东西。
当前回答
sudo docker images/docker images//带id的图像列表sudo docker rm image<image_id>/docker rm image<image_id>
其他回答
添加到techtabu接受的答案中,如果您在windows上使用docker,可以使用以下命令
for/F“delims=”('docker ps-A-q')中的%A做docker rm%A
这里,docker ps-a-q命令列出了所有图像,并将此列表逐一传递给docker rm
有关此类命令格式如何在windowscmd中工作的更多详细信息,请参阅本文。
docker image prune -a
删除所有未使用的图像,而不仅仅是悬挂的图像。将-f选项添加到武力
本地docker版本:17.09.0-ce,Gitcommit: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
docker images -f dangling=true
docker image prune
使用此选项可删除所有内容:
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-说明
xargs的另一种方式(仅限Unix)
docker image ls -q | xargs -I {} docker image rm -f {}