如何在Docker容器中使用SQL Server安装.NET 4.7.2

时间:2019-06-22 16:44:10

标签: .net sql-server docker containers

我正在尝试在Docker容器中安装SQL Server和.NET 4.7.2。

  • 我需要能够启动.net 4.7.2服务
  • 启动一个test.dll
  • .NET 4.7.2服务将查询到SQL Server数据库

我试图通过docker文件安装它们,但是在安装.NET 4.7.2时,它始终会失败,因为它需要重新启动“计算机”。我尝试通过docker构建一个dockerfile。

我还尝试通过Chocolatey在我的SQL Server容器中安装.net 4.7.2,但也需要重新启动。哪个行不通。

我还尝试通过Chocolatey在.net 4.7.2容器上安装SQL Server,但仍然失败。

下一步,我正在考虑创建一个SQL Server容器和另一个.net 4.7.2容器,这些容器将运行我的测试并启动我的服务。然后链接它们,使其可以与SQL Server容器中的数据库进行通信。问题是我很难将它们链接在一起。

请注意,这不是一个ASP.NET项目(关于ASP.NET和SQL Server的教程很多,但不适用于我的情况)...

有关我的dockerfile,请参见以下内容:

FROM microsoft/mssql-server-windows-developer

ENV sa_password=Passw0rd
ENV ACCEPT_EULA=Y

ENV download_url="https://download.microsoft.com/download/9/2/2/9228AAC2-90D1-4F48-B423-AF345296C7DD/EN/x64/DacFramework.msi"
ENV NET_DP_472 https://download.microsoft.com/download/6/E/4/6E48E8AB-DC00-419E-9704-06DD46E5F81D/NDP472-KB4054530-x86-x64-AllOS-ENU.exe


RUN Invoke-WebRequest -Uri $env:download_url -OutFile DacFramework.msi ; `
    Start-Process msiexec.exe -ArgumentList '/i', 'DacFramework.msi', '/quiet', '/norestart' -NoNewWindow -Wait; `
    Remove-Item -Force DacFramework.msi

# net framework -> 472
RUN Invoke-WebRequest $Env:NET_DP_472 -OutFile framework472.exe -UseBasicParsing; 
    Start-Process framework472.exe -ArgumentList '/q' -Wait;
    Remove-Item -Force framework472.exe

1 个答案:

答案 0 :(得分:0)

如果将n添加到-ArgumentList "/qn",这将阻止重新启动