我很好奇除了作为容器映像一部分的层之外,是否还有一种方法可以查看正在运行的 Windows 容器使用了多少磁盘空间。基本上,容器自创建以来“增长”了多少。
在 Linux(或在 HyperV 中运行的 Linux 容器)中,这将是docker ps -s
,但是该命令未在 Windows 容器上实现。我也尝试过docker system df -v
但也没有实施。也许有一种巧妙的方法可以直接查看磁盘上的某个内容或其他内容?
我检查了运行非 HyperV(进程隔离)容器的 Windows 10 1809,我很确定 Windows Server 容器也是如此。
数据似乎保存在:
C:\ProgramData\Docker\windowsfilter\{ContainerId}
里面有对文件夹的直接引用docker inspect {Id}
under GraphDriver\Data\dir
.
该文件夹包含文件sandbox.vhdx
它似乎是每个容器的“可写层”。
我无法打开它并查看文件系统,但如果我在容器内写入一些数据,我可以强制文件增长:
docker exec <Id> powershell get-childitem c:\ -recurse `> c:\windows\temp\test.txt
当容器停止/重新启动时,该层仍然存在,并且当容器被删除时,该文件夹将被删除rm
ed.
在研究时我看到一个在 moby 中打开 PR https://github.com/moby/moby/pull/39193改进此文件夹的清理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)