我正在尝试在Docker中的Windows Server Core上执行SQL Server的无人参与安装。但它会抛出此错误:找不到指定文件的虚拟磁盘支持提供程序。
有谁知道如何在Windows Server Core上使用Mount-DiskImage吗?
RUN @echo off && `
aws s3 cp s3://mybucket/en_sql_server_2016_developer_with_service_pack_1_x64_dvd_9548071.iso C:\en_sql_server_2016_developer_with_service_pack_1_x64_dvd_9548071.iso && `
for /f "delims=" %%A in ('@powershell -NoProfile -ExecutionPolicy Bypass -Command "(Mount-DiskImage -ImagePath C:\en_sql_server_2016_developer_with_service_pack_1_x64_dvd_9548071.iso -PassThru | Get-Volume).DriveLetter"') do set "ISO_DRIVE_LETTER=%%A" && `
echo Mounted SQL install image to drive %ISO_DRIVE_LETTER% && `
echo Setting up SQL Server.. && `
%ISO_DRIVE_LETTER%:\Setup /ConfigurationFile=SQLInstallConfig.ini附言:我已经尝试将ISO镜像直接复制到docker容器上,并得到了相同的结果。所以它看起来不像是一个损坏的图像。
发布于 2021-08-13 16:59:52
到2021年8月,仍然不能在Windows Docker容器中挂载磁盘镜像。我已经试着自己解决这个问题足够多次了,我得到的最远的结果是模糊地提到了“缺少虚拟DVD功能”,尽管我找不到任何提到“虚拟DVD”或挂载图像的功能。
作为一种解决方法,您可以将磁盘映像/ISO解压缩到文件夹中,或者将映像挂载到主机中。然后将目录路径暴露给容器。
当您不维护的脚本或包可能试图下载并挂载磁盘映像/ISO作为其自身设置过程的一部分时,这两种方法都不是完美的解决方案。但是,需要磁盘映像作为外部源的软件安装程序或软件包通常会提供一个参数来指定备用安装源位置,以便您能够在这些情况下找到合适的解决方法。
https://stackoverflow.com/questions/41033187
复制相似问题