如何删除所有Docker本地Docker镜像

Kim*_*kka 144 docker docker-compose

我最近开始使用Docker并且从未意识到我应该使用docker-compose down而不是ctrl-c或者docker-compose stop去除我的实验.我现在在本地有大量不需要的泊坞窗图像.

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

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

tec*_*abu 274

要删除所有容器,包括其卷使用,

docker rm -vf $(docker ps -a -q)
Run Code Online (Sandbox Code Playgroud)

要删除所有图像,

docker rmi -f $(docker images -a -q)
Run Code Online (Sandbox Code Playgroud)

请记住,在删除创建这些容器的所有图像之前,应删除所有容器.

  • @Ashutosh Chamoli:在CMD中不起作用,在PowerShell中起作用。 (16认同)
  • 我一定来过这里一百多次了。感谢您写下这个答案! (13认同)
  • powershell 的单行变体:`docker images -a -q | % { docker 镜像 rm $_ -f }` (10认同)
  • 运行docker rmi -f $(docker images -a -q)时,-a中的`unknown shorthand flag:'a' (4认同)
  • @泰坦,谢谢你。已编辑。我没有办法在 Windows 中进行测试,应该更加注意评论。 (3认同)
  • 我遇到了 AWS EC2 实例的问题。该实例默认用户是``ubuntu``。因此,当我运行给出权限错误的代码时。然后我使用 ``sudo docker rm -vf $(sudo docker ps -aq)``` 和 ``sudo docker rmi -f $(sudo docker images -aq)``` (3认同)

Rob*_*ert 101

用它来删除所有内容:

docker system prune -a --volumes
Run Code Online (Sandbox Code Playgroud)

删除所有未使用的容器,卷,网络和图像

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
Run Code Online (Sandbox Code Playgroud)

https://docs.docker.com/engine/reference/commandline/system_prune/#extended-description

  • 这应该是公认的答案,只是声明了 280GB 的可用空间,而公认的解决方案只清理了 10GB。 (7认同)
  • @lucian303这种方法确实回收了磁盘空间。也许您正面临一个特定问题。 (5认同)
  • 这对我有用。它也有助于删除卷 (3认同)
  • 然而,实际上并没有回收所有的磁盘空间。 (2认同)

Suh*_*ote 33

这是我使用的简短快速的解决方案

Docker 提供了一个命令来清理任何悬空(与容器无关)的资源——图像、容器、卷和网络:

docker system prune
Run Code Online (Sandbox Code Playgroud)

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

docker system prune -a
Run Code Online (Sandbox Code Playgroud)

欲了解更多详情,请访问链接


Rob*_*jan 15

docker image prune -a

删除所有未使用的图像,而不仅仅是悬空的图像。添加-f选项以强制执行。

本地docker版本:17.09.0-ce,Git提交: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
Run Code Online (Sandbox Code Playgroud)


Gui*_*ido 13

Windows 中存在一个错误,删除映像后不会回收磁盘空间。重新启动 Docker/Windows 不起作用。

如果您使用 Docker Desktop,以下内容对我有用。转到疑难解答 -> 清理/清除数据。这可以为您节省大量磁盘空间,也许比您想要的还要多。

在此输入图像描述

请注意:这会删除所有内容,因此在执行此操作之前请三思!


Dee*_*mal 10

简单方便的命令

删除所有图像

docker rmi $(docker images -a)
Run Code Online (Sandbox Code Playgroud)

删除处于退出状态的容器

docker rm $(docker ps -a -f status=exited -q)
Run Code Online (Sandbox Code Playgroud)

删除处于创建状态的容器

docker rm $(docker ps -a -f status=created -q)
Run Code Online (Sandbox Code Playgroud)

注意:删除所有容器然后删除图像


小智 10

对于 Linux Ubuntu 用户,以下内容对我有用。注意事项-它会顺便删除所有内容。

要删除容器及其关联的卷,请使用以下命令:

sudo docker rm -vf $(sudo docker ps -a -q)
Run Code Online (Sandbox Code Playgroud)

要删除图像,请使用以下命令:

sudo docker rmi -f $(sudo docker images -a -q)
Run Code Online (Sandbox Code Playgroud)


Vas*_*kov 7

If you need to delete without invoking docker:

rm -rf /var/lib/docker
Run Code Online (Sandbox Code Playgroud)

This directly removes all docker images/containers/volumes from the filesystem.

  • 还有 docker 基础设施文件。我不会那样做。 (3认同)