如何在 Windowsservercore docker 容器中安装 dotnetcore

How to install dotnetcore in windowsservercore docker container

本文关键字:安装 dotnetcore docker Windowsservercore      更新时间:2023-10-16

我有C++应用程序,它正在通过 ASP.NET 核心应用程序运行。C++应用程序是基于x86的,因此它不在aspnetcore:2.0-nanoserver映像中运行。

我读过关于纳米服务器容器的信息,它支持基于 x64 的应用程序。我无法构建我的 C++ 应用程序,因为它与 x86 库有依赖关系。

所以我使用 Windowsservercore 映像,它支持 x86 和 x64 应用程序。在容器命令行中测试了我的C++应用程序,它工作正常。

但是这个镜像没有安装dotnetcore,所以请告诉我如何在windowsservercore容器中安装dotnetcore。建议我使用dotnetcore的windowsservercore图像。

如果您安装了Docker并在桌面上工作,那么创建自己的Docker映像并不难,该映像会将dotnetcore安装到Windows服务器映像上。像这样的东西应该符合你的目的:

FROM microsoft/iis:windowsservercore
COPY dotnet-runtime-2.0.4-win-x64.exe C:
RUN C:dotnet-runtime-2.0.4-win-x64.exe /quiet /install

将此 dockerfile 解释为

  1. 从 Windowsservercore 映像开始
  2. dotnet-runtime-2.0.4-win-x64.exe复制到映像中
  3. 运行它。
  4. 将结果另存为我的码头工人映像。

为了使这项工作,您应该

  • 在计算机上创建工作目录目录
  • 将上述Dockerfile保存在此工作目录中
  • dotnet-runtime-2.0.4-win-x64.exe从 https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.4-download.md 下载到同一工作目录中
  • 在命令行上,CD 到目录并运行 docker build 命令:

    docker build -t MyDotNetOnServerCoreContainer -f Dockerfile

一个小时的时间来完成制作 Docker 文件的教程是值得的。