想要从基于 mcr.microsoft.com/windows/server:ltsc2022 的 docker windows 容器内的 vhd 共享打开/附加虚拟磁盘,它会抛出“找不到指定文件的虚拟磁盘支持提供程序”。 Windows容器是否支持在运行时打开/附加vhd文件?
用于 OpenVirtualDisk 的代码如下。 [DllImport("virtdisk.dll", CharSet = CharSet.Unicode)] 内部静态 extern long OpenVirtualDisk(引用 VIRTUAL_STORAGE_TYPE virtualStorageType,字符串路径,VirtualDiskAccessMask virtualDiskAccessMask,OPEN_VIRTUAL_DISK_FLAG fags,引用 OPEN_VIRTUAL_DISK_PARAMETERS 参数,引用 IntPtr 句柄);
最佳答案
您能否提供有关您正在运行的环境的更多详细信息?更具体地说,我认为理想的做法是将 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
关于windows-container - Windows 容器是否支持在运行时打开/附加 vhd 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72629105/