我最近开始使用Docker,从未意识到我应该使用Docker compose down而不是ctrl-c或Docker composestop来摆脱我的实验。我现在在本地有大量不需要的docker图像。

我是否可以运行一个标志来删除所有本地docker图像和容器?

类似docker rmi-all-force-all-flag的东西不存在,但我正在寻找具有类似想法的东西。


当前回答

docker rmi -f $(docker images -q)

其他回答

添加到techtabu接受的答案中,如果您在windows上使用docker,可以使用以下命令

for/F“delims=”('docker ps-A-q')中的%A做docker rm%A

这里,docker ps-a-q命令列出了所有图像,并将此列表逐一传递给docker rm

有关此类命令格式如何在windowscmd中工作的更多详细信息,请参阅本文。

您可以这样尝试:

docker system prune

删除所有停止的容器和所有未使用的图像。

docker系统prune-a

使用此选项可删除所有内容:

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提供了一个单独的命令,它将清理所有悬空(与容器无关)的资源(图像、容器、卷和网络):

docker system prune

要另外删除任何停止的容器和所有未使用的图像(而不仅仅是悬挂的图像),请在命令中添加-a标志:

docker system prune -a

有关详细信息,请访问链接