我最近开始使用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的东西不存在,但我正在寻找具有类似想法的东西。
当前回答
添加到techtabu接受的答案中,如果您在windows上使用docker,可以使用以下命令
for/F“delims=”('docker ps-A-q')中的%A做docker rm%A
这里,docker ps-a-q命令列出了所有图像,并将此列表逐一传递给docker rm
有关此类命令格式如何在windowscmd中工作的更多详细信息,请参阅本文。
其他回答
仅删除所有图像,然后运行以下命令
docker rmi -f $(docker images -aq)
删除未使用的容器、映像和卷,然后运行以下命令
docker system prune -a -f
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
xargs的另一种方式(仅限Unix)
docker image ls -q | xargs -I {} docker image rm -f {}
使用此选项可删除所有内容:
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-说明
要删除所有图像,请执行以下操作:
docker rmi -f $(docker images -a | awk {'print $3'})
说明:
docker图像-a|awk{'打印$3'}
此命令将返回所有图像id,然后使用其id删除图像。