【问题标题】:How to install .NET 4.7.2 with SQL Server in a Docker container如何在 Docker 容器中使用 SQL Server 安装 .NET 4.7.2
【发布时间】:2019-06-22 16:44:10
【问题描述】:

我正在尝试在 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 build a 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

【问题讨论】:

  • 您确定需要将它们放在同一个容器中吗?标准做法是在一个容器中运行 SQL,在另一个容器中运行 .NET。两者都有官方 Docker 镜像。

标签: .net sql-server docker containers


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    • 2014-05-24
    • 2017-11-11
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 2021-09-08
    相关资源
    最近更新 更多