开发 Docker 化的 .NET 和 .NET Core 应用程序
1. IIS 日志处理
IIS 在将日志条目写入磁盘之前会先在内存中进行缓冲,每 60 秒或者当缓冲区达到 64 KB 大小时会进行一次刷新。若要强制刷新容器中的 IIS 日志,可使用如下命令:
docker container exec log-watcher netsh http flush logbuffer
执行该命令后会看到 “Ok” 输出,并且在 docker container logs 中会有新的日志条目。
通过在镜像中为 IIS 添加配置和新命令,可将所有 IIS 日志条目输出到控制台。这适用于任何托管在 IIS 中的应用程序,无需对应用或网站内容进行更改,就能输出 ASP.NET 应用程序和静态网站的 HTTP 日志。由于 Docker 会从控制台输出中查找日志条目,因此这种简单的扩展将现有应用程序的日志集成到了新平台中。
2. 提升环境变量的使用
现代应用越来越多地使用环境变量进行配置设置,因为几乎所有平台(从物理机到无服务器函数)都支持环境变量。所有平台都以相同的方式使用环境变量,将其作为键值对的存储,因此使用环境变量进行配置可使应用具有高度的可移植性。
ASP.NET 应用在 Web.config 中已有丰富的配置框架,但通过一些小的代码更改,可以将关键设置移至环境变量。这样就能为应用构建一个 Docker 镜像,并在不同环境中运行,通过在容器中设置环境变量来更改配置。
超级会员免费看
订阅专栏 解锁全文
218

被折叠的 条评论
为什么被折叠?



