首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法查看Docker for Windows上的容器磁盘使用情况?

问有没有办法查看Docker for Windows上的容器磁盘使用情况?
EN

Stack Overflow用户
提问于 2019-04-27 07:14:04
回答 2查看 3.4K关注 0票数 2

我很好奇,除了作为容器映像的一部分的层之外,是否还有一种方法可以查看正在运行的Windows容器正在使用多少磁盘空间。基本上,容器自创建以来“增长”了多少。

在Linux (或在HyperV中运行的Linux容器)中,这个命令应该是docker ps -s,但是这个命令并没有在Windows容器上实现。我也尝试过docker system df -v,但也没有实现。也许有一种通过直接在磁盘或其他什么地方查看某个特定内容的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-12 04:06:15

我检查了运行非HyperV(进程隔离)容器的Windows101809,我非常确定Windows Server容器也是如此。

数据似乎保存在:

代码语言:javascript
复制
C:\ProgramData\Docker\windowsfilter\{ContainerId}

在GraphDriver\Data\dir下的docker inspect {Id}中有一个直接引用的文件夹。

该文件夹包含文件sandbox.vhdx,该文件似乎是每个容器的“可写层”。

我无法打开它并查看文件系统,但如果我在容器中写入一些数据,我可以强制文件增长:

代码语言:javascript
复制
  docker exec <Id> powershell get-childitem c:\ -recurse `> c:\windows\temp\test.txt

当容器停止/重新启动时,该层仍然存在,而当容器被rm时,文件夹将被移除。

在搜索的时候,我看到了一个open PR in moby来改进这个文件夹的清理。

票数 2
EN

Stack Overflow用户

发布于 2019-04-28 00:45:18

我正在使用docker for windows (docker desktop 2.0.0.3),实际上实现了docker ps -s。

代码语言:javascript
复制
CONTAINER ID        IMAGE               COMMAND              CREATED             STATUS              PORTS               NAMES               SIZE
81acb264aa0f        httpd               "httpd-foreground"   6 minutes ago       Up 6 minutes        80/tcp              httpd               2B (virtual 132MB)

windows版Docker在MobyLinuxVM上运行。您可以访问虚拟机和docker目录:

代码语言:javascript
复制
docker run --privileged -it -v /var/run/docker.sock:/var/run/docker.sock jongallant/ubuntu-docker-client
root@8b58d2fbe186:/# docker run --net=host --ipc=host --uts=host --pid=host –it --security-opt=seccomp=unconfined --privileged --rm -v /:/host alpine /bin/sh
root@8b58d2fbe186:/# chroot /host

现在,您可以像在linux上一样访问/var/lib/docker中的docker文件夹,并检查其大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55875910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档