为什么删除docker容器和图像不会释放Windows上的存储空间?怎么解决?

问题描述 投票:6回答:2

问题:

当我下载并运行容器时,它们会占用越来越多的空间。我找到了清理未使用的容器和图像的建议,我这样做了。你猜怎么着?他们吃掉了更多的磁盘空间!

到目前为止我发现了什么:

它与.docker\machine\machines\default\disk.vmdk文件有关。它只会变大!

disk.vmdk的日志:

                            size (MB)
1. with 2 images                1,376
2. downloading a new image X    ?
3. running X as Y               2,963
4. removing Y                   2,963
5. removing X                   3,106
6. removing all the images      3,126

到目前为止我发现的唯一修复是运行docker-machine rm default删除VM。问题是我必须再次下载所有图像。应该有一个更好的解决方案。有人能解释一下:

  1. 到底是怎么回事?
  2. 怎么解决?
windows docker virtualbox
2个回答
1
投票

也许您正在使用的图像使用卷。如果他们这样做,那么删除容器不起作用。您还必须删除卷。为此,您必须在删除容器时指定-v标志

docker rm -v <container name or container id>

根据您的docker版本,您将获得更多可用命令。查看此SO thread了解更多信息。您可以在此SO thread中阅读有关孤儿卷的更多信息


1
投票

您可以在更新版本的Docker上运行维护命令。它们将释放停止的容器,悬空图像和悬空卷所使用的空间:

docker container prune -f
docker image prune -f
docker volume prune -f
© www.soinside.com 2019 - 2024. All rights reserved.