想要基于mcr.microsoft.com/windows/server:ltsc2022从docker windows容器内的vhd共享中打开/附加虚拟磁盘,会抛出"未找到指定文件的虚拟磁盘支持提供商";windows容器是否支持在运行时打开/附加vhd文件?
OpenVirtualDisk使用的代码如下。[DllImport("virtdisk.dll", CharSet = CharSet. unicode)]internal static extern long OpenVirtualDisk(ref VIRTUAL_STORAGE_TYPE virtualstorage_type, string path, VirtualDiskAccessMask, VirtualDiskAccessMask, OPEN_VIRTUAL_DISK_FLAG flags, ref OPEN_VIRTUAL_DISK_PARAMETERS parameters, ref IntPtr handle);
您能提供您正在运行的环境的更多细节吗?对于你的问题,更具体地说,我认为理想的情况是在主机上挂载VHD文件,并在运行容器时挂载它。然而,我不确定你有一个简单的测试/开发环境,只有Docker,或者这是在Kubernetes或其他东西上运行。要在Windows容器上挂载卷,可以使用:docker run -v c:ContainerData:c:data:RO
为只读访问docker run -v c:ContainerData:c:data:RW
为读写访问docker run -v c:ContainerData:c:data
为读写权限(默认)
更多详细信息,请查看文档页面:https://learn.microsoft.com/virtualization/windowscontainers/manage-containers/persistent-storage