【发布时间】:2017-04-23 07:47:42
【问题描述】:
我正在尝试在 Docker 中的 Windows Server Core 上执行无人值守的 SQL Server 安装。但是它会抛出这个错误:找不到指定文件的虚拟磁盘支持提供程序。
有人知道如何让 Mount-DiskImage 在 Windows Server Core 上工作吗?
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
P.S.:我曾尝试将 ISO 映像直接复制到 docker 容器中并得到相同的结果。所以它似乎不是损坏的图像。
【问题讨论】:
-
这应该可以。仔细检查 ISO 是否正确下载(不是空的或损坏的,可以安装在其他地方)。另外,什么版本的 Windows?
-
另外,但如果你愿意,你可以认为这只是一个小问题,通过从互联网上下载脚本并直接执行它们来进行安装只是...... ew。哪怕只是虚拟的。
chocolatey.org现在可以破解并安装后门真是太好了。 -
这是在 Windows Server Core 上。也许它不支持 Mount-DiskImage 或者没有底层基础设施?
-
@KyryllTeninBaum 你在这方面有什么进展吗?我找不到任何说明它不受支持的文档,我也无法确定哪个服务器功能包含它来尝试安装它。
-
@JeroenMostert Chocolatey 建议设置您自己的包裹供稿:chocolatey.org/docs/security#organizational-use-of-chocolatey。这就是我在我的组织中使用 Choco 所做的。请注意,在上述情况下,如果您放置了 ISO,验证文件的摘要将是缓解此问题的好方法。这也意味着您的构建更可靠,因为损坏或截断的下载比恶意行为者更有可能。
标签: powershell docker