"System limitation" 在 docker 上为 Windows 启动 windows 个容器

"System limitation" when starting windows containers on docker for Windows

我在使用 Windows Container 时遇到了一些问题,我提取的每一个图像都给我一个奇怪的 Hyper-V 错误:

"The requested operation could not be completed due to a virtual disk system limitation. Virtual hard disk files must be uncompressed and unencrypted and must not be sparse."

我研究的所有结果都指出需要取消选中保存图像的磁盘上的 "Compress disk to save space",但如您所见,我的情况并非如此:

[][

经过一番挖掘,解决方案非常简单:

在 C:/ProgramData/Docker 和 C:/ProgramData/DockerDesktop 文件夹上,出于某种原因,我看到压缩标志在这些单独的文件夹上处于活动状态,禁用它后一切都像魅力一样。

Raymond 的解决方案让我对这个问题有了一些了解。在我的例子中,我必须将解决方案应用于 Docker 在 Windows 下使用的 Hyper-V VM 配置文件。我取消选中高级属性下的标志 "Compress contents to save disk space" -> 压缩或加密属性,对于 C:\ProgramData\Microsoft\Windows\Hyper-V[=17= 下的文件夹].

此 VM 文件的存储路径可能会有所不同。所以我建议在 Hyper-V 设置中检查虚拟机的存储位置。

老实说,在驱动器上禁用压缩会花费我们很多宝贵的时间和耐心。这个问题线程评论解决了我的问题。只需转到 %localappdata%\Packages\ 并找到类似 CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc 的内容并禁用文件夹和所有子文件夹的压缩

来源:github.com/microsoft/WSL/issues/4103

PS: 安装的发行版:- Ubuntu 20.04 LTS