9.0 (标准支持)
docker pull mcr.microsoft.com/dotnet/sdk:9.0
8.0 (长期支持)
docker pull mcr.microsoft.com/dotnet/sdk:8.0
此镜像包含.NET SDK,由三部分组成:
- .NET CLI
- .NET运行时
- ASP.NET Core
使用此镜像进行应用程序的开发过程(开发、构建和测试)。
关注https://github.com/dotnet/dotnet-docker/discussions/categories/announcements%E4%BB%A5%E8%8E%B7%E5%8F%96Docker%E7%9B%B8%E5%85%B3%E7%9A%84.NET%E5%85%AC%E5%91%8A%E3%80%82
https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md%E5%B1%95%E7%A4%BA%E4%BA%86%E5%A4%9A%E7%A7%8D%E5%B0%86.NET%E5%92%8CDocker%E7%BB%93%E5%90%88%E4%BD%BF%E7%94%A8%E7%9A%84%E6%96%B9%E5%BC%8F%E3%80%82%E6%9C%89%E5%85%B3%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E5%8F%82%E9%98%85.NET%E5%92%8CDocker%E7%AE%80%E4%BB%8B%E3%80%82
使用Docker构建.NET应用
- https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/README.md - 此https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/Dockerfile%E6%9E%84%E5%BB%BA%E3%80%81%E6%B5%8B%E8%AF%95%E5%B9%B6%E8%BF%90%E8%A1%8C%E7%A4%BA%E4%BE%8B%E5%BA%94%E7%94%A8%EF%BC%8C%E5%8C%85%E5%90%AB%E5%B9%B6%E6%9E%84%E5%BB%BA%E5%A4%9A%E4%B8%AA%E9%A1%B9%E7%9B%AE%E3%80%82
- https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/README.md - 此https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/Dockerfile%E6%BC%94%E7%A4%BA%E5%A6%82%E4%BD%95%E5%B0%86Docker%E4%B8%8EASP.NET Core Web应用一起使用。
在容器中开发.NET应用
以下示例展示了如何使用Docker开发、构建和测试.NET应用程序,无需安装.NET SDK。
- https://github.com/dotnet/dotnet-docker/blob/main/samples/build-in-sdk-container.md
- https://github.com/dotnet/dotnet-docker/blob/main/samples/run-tests-in-sdk-container.md
- https://github.com/dotnet/dotnet-docker/blob/main/samples/run-in-sdk-container.md
.NET容器镜像有多种变体,提供不同的灵活性和部署大小组合。https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md%E5%8C%85%E5%90%AB%E9%95%9C%E5%83%8F%E5%8F%98%E4%BD%93%E5%8F%8A%E5%85%B6%E7%94%A8%E4%BE%8B%E7%9A%84%E6%91%98%E8%A6%81%E3%80%82
.NET:
- https://hub.docker.com/r/microsoft/dotnet/: .NET
- https://hub.docker.com/r/microsoft/dotnet-aspnet/: ASP.NET Core运行时
- https://hub.docker.com/r/microsoft/dotnet-runtime/: .NET运行时
- https://hub.docker.com/r/microsoft/dotnet-runtime-deps/: .NET运行时依赖项
- https://hub.docker.com/r/microsoft/dotnet-monitor/: .NET监控工具
- https://hub.docker.com/r/microsoft/dotnet-aspire-dashboard/: .NET Aspire仪表板
- https://hub.docker.com/r/microsoft/dotnet-nightly-sdk/: .NET SDK(预览版)
- https://hub.docker.com/r/microsoft/dotnet-samples/: .NET示例
.NET Framework:
- https://hub.docker.com/r/microsoft/dotnet-framework/: .NET Framework、ASP.NET和WCF
- https://hub.docker.com/r/microsoft/dotnet-framework-samples/: .NET Framework、ASP.NET和WCF示例
查看当前标签请访问Microsoft Artifact Registry门户或https://github.com/dotnet/dotnet-docker/blob/main/README.sdk.md#full-tag-listing%E3%80%82
生命周期
- https://github.com/dotnet/core/blob/main/support.md
- https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md
- https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md
镜像更新政策
- 基础镜像更新:基础镜像(如debian:bookworm-slim、windows/nanoserver:ltsc2022等)有任何更新时,镜像会在12小时内重建。
- .NET发布:发布新的.NET版本时会重建镜像,包括新的主要版本、次要版本和服务版本。
- 关键CVE:如以下所述,镜像会重建以获取关键CVE修复。
- 月度重建:镜像每月重建一次,通常在当月的第二个星期二,以获取低严重性CVE修复。
- 紧急更新:有时可能需要重建镜像以解决关键问题,此时会根据https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md#fixed-version-tags%E6%9B%B4%E6%96%B0%E6%96%B0%E7%9A%84%E5%9B%BA%E5%AE%9A%E7%89%88%E6%9C%AC%E6%A0%87%E7%AD%BE%E3%80%82
CVE更新政策
.NET容器镜像会定期监控CVE的存在。当满足以下条件时,会重建镜像以获取CVE修复:
- 检测到镜像包含CVSS评分“严重”的CVE
- 且该CVE位于我们Dockerfile层中添加的包中(即该CVE位于我们显式安装的包或其任何依赖包中)
- 且受影响的基础镜像的包仓库中有该包的CVE修复。
有关在.NET镜像中遇到CVE时的处理方法,请参阅https://github.com/dotnet/dotnet-docker/blob/main/SECURITY.md%E5%92%8Chttps://github.com/dotnet/dotnet-docker/blob/main/documentation/vulnerability-reporting.md%E3%80%82
反馈
- https://github.com/dotnet/dotnet-docker/issues/new/choose
- 联系Microsoft支持
- ***声明:容器许可信息
- https://github.com/dotnet/dotnet-docker/blob/main/LICENSE
- https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md
- Windows基础镜像许可(仅适用于Windows容器)
- Windows Server定价和许可