docker - 在 AWS ECS(Fargate)和本地(.NET Core 应用程序)上看到不同的 docker 容器行为
问题描述
更新:这个问题与在 ECS / docker / linux 上运行无关,而是 .NET 服务验证,其中环境是“开发”,而其他测试环境使用另一个环境名称。一篇有用的文章是:
https://andrewlock.net/new-in-asp-net-core-3-service-provider-validation/
在 AWS ECS 上,我看到任务停止,并且日志中显示一些 .NET 核心应用程序的 DI 注册失败。
虽然缺少 DI 注册失败是正确的,但出乎意料的是应用程序在 AWS ECS (Fargate) 下的行为不同。这些问题不会阻止 docker 容器(和应用程序)在本地从相同的映像和环境变量运行时启动。从我的 IDE 运行应用程序也可以正常工作。丢失的 DI 注册将自身显示为运行时错误。我已确认在运行健康检查端点时不存在这些运行时问题。
但是,在 ECS (Fargate) 下,我在服务启动后立即看到以下异常:
Unhandled exception. System.AggregateException: Some services are not able to be constructed (Error while validating the service descriptor 'ServiceType:
我看不出 ECS 可能导致立即验证 DI 注册的原因。是否有任何我不知道的已知 ECS 行为?
解决方案
推荐阅读
- rpmbuild - rpmbuild 我没有指定的依赖项来自哪里?
- mongodb - 如何使用 Mongodb 验证器验证非空字段
- sql - insert into statements,如何快速插入记录
- javascript - 可调整大小的拆分 DIV Vue.js
- flutter - 如何在颤动中管理开关小部件的原生外观
- android - queryPurchases() 返回一个空列表
- html - 防止 Flexbox 变大,截断文本
- c++ - 如何解析包含整数的字符串并检查是否大于C++中的最大值
- javascript - 我如何/可以通过在请求正文中使用 x-www-form-urlencoded 来发送我的有效负载的 RxJs POST 请求
- android - 如何柔化和调整cameraX中预览和抓图的亮度?