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

2024-04-28

我很好奇除了作为容器映像一部分的层之外,是否还有一种方法可以查看正在运行的 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

当容器停止/重新启动时,该层仍然存在,并且当容器被删除时,该文件夹将被删除rmed.

在研究时我看到一个在 moby 中打开 PR https://github.com/moby/moby/pull/39193改进此文件夹的清理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法查看 Docker for Windows 上的容器磁盘使用情况? 的相关文章

随机推荐

  • 使用 Retrofit 的 Google 地图方向 API

    我想绘制两个位置之间的路线 我使用retrofit库来调用API 我没有得到任何回应 我需要 ArrayList 中的折线 我怎么做到这一点 还需要帮助来创建 GsonAdapter 谢谢 在活动中 String base url http
  • Firebase 无需身份验证即可初始化 - firebase.auth 不是函数

    我无法弄清楚为什么我的一个 Firebase 应用程序使用 auth 进行初始化 而另一个则没有 我在这里遵循了节点安装选项 https firebase google com docs web setup https firebase g
  • Laravel Passport 中间件保护路由“未经身份验证”问题

    我使用 Laravel Passport 进行身份验证 因此我将路由置于中间件保护中 UPDATED 为了清楚起见 我也添加了 UsersController public function getUser users Auth user
  • Ant 复制文件而不覆盖

    Is there any command in ant to copy files from one folder structure to another without checking the last modified date t
  • 如何从默认标签栏删除底部

    我需要添加一个没有应用栏的选项卡栏 我从 StackOverflow 获得了一个使用灵活空间的解决方案 它正在工作 但它在选项卡栏底部产生了额外的不需要的空间如何删除或隐藏它 我的完整代码 import package flutter ma
  • 尝试在 Angular 项目中导入 date-fns 时,Jest 测试失败

    我最近将我的一个 Angular 项目更新到 Angular 13 更新后 我在尝试在项目中运行单元测试时遇到了一些奇怪的错误 我在一个新的 Angular 项目中创建了一个最小的示例来重现此行为 import format from da
  • HotSpot使用的Mark-Compact算法是什么?

    当阅读 Mark Compact 章节时垃圾收集手册 https rads stackoverflow com amzn click com 1420082795 提出了一系列替代方案 但其中大多数看起来很旧 理论上 例如 2 指压缩和 L
  • 纱线堆的使用量随着时间的推移而增长

    我们在 AWS EMR 上运行 Spark Streaming 作业 该作业将稳定运行 10 到 14 小时 然后崩溃 并且 stderr stdout 或 Cloudwatch 日志中没有明显错误 在此崩溃之后 任何重新启动作业的尝试都将
  • 在运行时在 iOS 上添加框架

    首先 我将描述我的用例 说明为什么我需要在 iOS 上运行时添加框架 假设我在 iOS 设备上有一个应用程序 该应用程序需要一些第三方框架来添加一些外部功能 现在 功能有很多 所以 所需的框架数量也会很多 用户可能不需要很多功能 只是一小部
  • 重新格式化 csv 文件

    我有这个 csv 文件 其中只有两个条目 这里是 Meat One Abattoirs Exporters Food Delivery Butchers Retail Meat Dealers Retail Meat Freezer Mea
  • R语言赋值

    我想知道 R 语言中的赋值是如何工作的 考虑以下 R shell 会话 gt x lt c 5 6 7 gt x 1 lt 10 gt x 1 10 6 7 gt 我完全理解 创建向量 5 6 7 并将其绑定到 符号 x 之后 x 会反弹到
  • Objective-C 类别导致无法识别的选择器

    我的项目有一个UIImage我想从另一个类调用的类别函数 我正确导入了图像类别的头文件 并且在没有警告的情况下编译了项目 问题是当我打电话时UIImage类别函数我看到一个无法识别的选择器错误NSInvalidArgumentExcepti
  • 缺少 /var/lib/mysql/mysql.sock 文件

    我正在尝试访问 mysql 当我运行 mysql 命令时 我得到以下信息 root ip 10 229 65 166 tpdatabase 1 8 0 28356 mysql 错误 2002 HY000 无法连接到 通过socket本地My
  • 如何在 NavHostFragment 中检索当前片段?

    我试图在新的导航组件中找到一种方法 但我没有找到任何相关内容 我当前的目的地是 mainHostFragment findNavController currentDestination 但我无法获得对显示片段的任何引用 参考显示的片段 A
  • 仅使用 fprintf 和 fscanf 替换文本文件中的字符串

    抱歉问这么简单的问题 这是我作业的一部分 我被困住了 如你看到的 include
  • Spring中需要多个相同类型的bean

    将其标记为重复之前的请求 我浏览了论坛 但在任何地方都找不到该问题的解决方案 我正在使用 Spring 3 2 编写代码 一切都是纯粹基于注释的 该代码接收从不同 XSD 文件派生的 XML 文件 所以我们可以说 有五个不同的 XSD A1
  • 在 Python 中使用 argparse 处理无效参数

    我在用argparse https docs python org 2 library argparse html解析命令行参数 默认情况下 在收到无效参数时 它会打印帮助消息并退出 是否可以自定义 argparse 在收到无效参数时的行为
  • Nonetype 错误/使用 python 的 beautifulsoup 没有打印任何元素

    所以我尝试使用 python 比较 2 个列表 其中一个包含我从网站获取的 1000 个链接 另一个包含一些单词 这些单词可能包含在第一个列表的链接中 如果是这种情况 我想得到一个输出 我打印了第一个列表 它确实有效 例如 如果链接是 ht
  • Powershell CMD.exe 和路径中的空格

    我在使用执行命令时遇到问题cmd exe在 PowerShell 中 问题是命令的路径中有空格 似乎是 PowerShell 的普遍问题 以下是摘录 base dir resolve path this path has spaces in
  • 有没有办法查看 Docker for Windows 上的容器磁盘使用情况?

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