如何在 docker 中安装 .net Framework?

Kov*_*ovu 1 .net docker devops

我想在 microsoft/dotnet:latest 映像中安装 donet Framework 4.6.1(.net 核心需要此映像,但我也需要框架)

Mat*_*man 8

首先,建议更新您的标记用法以引用 MCR 位置(请参阅https://github.com/dotnet/announcements/issues/101),因为microsoft/dotnet:latest不再更新并且仍然指向 .NET Core 2.1 而不是 3.1。因此,mcr.microsoft.com/dotnet/sdk:3.1如果您想要最新的 .NET Core 映像,建议使用。有关所有支持的标签,请参阅Docker Hub 页面

其次,.NET Core Docker 映像仅适用于 Windows Nano Server,它是 Windows Server Core 的一个子集。.NET Framework 至少需要 Windows Server Core。因此,无法将 .NET Framework 安装到使用 Nano Server 的 .NET Core 映像上。现有的提案还发布了基于 Windows Server Core 构建的 .NET Core 映像,但目前尚不存在此类映像。[编辑:.NET 5.0 的图像现在可在 Windows Server Core 2019 上使用]

更有意义的是从基于 Windows Server Core 构建的.NET Framework Docker 映像开始,然后向其中添加 .NET Core 3.1。有关如何在 Dockerfile 中安装 .NET Core 的指南,请访问https://github.com/dotnet/dotnet-docker/blob/master/documentation/scenarios/installing-dotnet.md。你真的需要 4.6.1 还是 4.6.2 就足够了?因为只有 4.6.2 而不是 4.6.1 支持的 Docker 镜像。支持的最旧 Windows Server Core 版本是 LTSC 2016,默认情况下安装了 4.6.2。