在 Docker 容器中托管 ASP.NET Core
注意
此版本不是本文的最新版本。 有关当前版本,请参阅本文的 .NET 9 版本。
警告
此版本的 ASP.NET Core 不再受支持。 有关详细信息,请参阅 .NET 和 .NET Core 支持策略。 对于当前版本,请参阅此文的 .NET 8 版本。
下面的文章可用于了解如何在 Docker 中托管 ASP.NET Core 应用:
容器和 Docker 简介
容器化是软件开发的一种方法,通过该方法可将应用程序或服务、其依赖项及其配置一起打包为容器映像。了解相关内容。 可对该映像进行测试,然后将其部署到主机。
什么是 Docker
了解如何将 Docker 作为一种开源项目,用于将应用自动部署为可在云或本地运行的便携式独立容器。
Docker 术语
了解 Docker 技术的术语和定义。
Docker 容器、映像和注册表
了解如何将 Docker 容器映像存储在映像注册表中,以实现跨环境的一致部署。
在 Docker 容器中运行 ASP.NET Core 应用 了解如何生成和 Docker 化 ASP.NET Core 应用。 了解由 Microsoft 维护的 Docker 映像并检查用例。
.NET Docker 示例演示如何使用 .NET 和 Docker 进行开发、测试和生产的示例和指南。
Visual Studio 容器工具
了解 Visual Studio 如何支持在用于 Windows 的 Docker 上生成、调试和运行面向 .NET Framework 或 .NET Core 的 ASP.NET Core 应用。 Windows 和 Linux 容器均受支持。
发布到 Azure 容器注册表
了解如何通过 Visual Studio 容器工具扩展使用 PowerShell 将 ASP.NET Core 应用部署到 Azure 上的 Docker 主机。
配置 ASP.NET Core 以使用代理服务器和负载均衡器
对于托管在代理服务器和负载均衡器后方的应用,可能需要附加配置。 通过代理传递的请求通常会遮盖初始请求相关信息,例如方案和客户端 IP。 可能必须将请求相关的一些信息手动转发给应用。
使用 Docker 和小型容器的 GC 讨论了包含小型容器的 GC 选择。
System.IO.IOException:已达到配置的 inotify 实例数用户限制 (128)
禁用 reloadOnChange
可以显著减少打开的文件数。 若要禁用重新加载配置文件,请设置环境变量 DOTNET_HOSTBUILDER__RELOADCONFIGONCHANGE=false
有关替代方法或留下关于此问题的反馈,请参阅此 GitHub 问题。