c# - Docker抛出异常作为远程名称无法解析
问题描述
我创建了一个基本的 .net 框架 MVC Web 应用程序,并添加了使用Cloud Watch Logs SDK将日志发送到 AWS Cloud Watch Logs 的逻辑,它在 localsystem/localhost 中运行良好,但是一旦我对图像进行 dockerize,我就开始出现异常。请指导我解决问题。
代码:
public static AmazonCloudWatchLogsClient logClient = new AmazonCloudWatchLogsClient("YYYYY",
"XXXXX",
RegionEndpoint.USEast1);
public ActionResult Index()
{
// Code removed for brevity sake
var logGroup = logClient.DescribeLogGroups(); // This throws exception
return View();
}
例外:
Amazon.Runtime.AmazonServiceException:'引发了状态为 NameResolutionFailure 的 WebException。WebException:无法解析远程名称:'logs.us-east-1.amazonaws.com''
解决方案
我必须在 web.config 中添加以下代码行来解决问题。
<system.net>
<defaultProxy enabled="true">
</defaultProxy>
</system.net>
解释 - Docker 不为外界所知,所以当 API 请求来自 dockerized 应用程序时,它只会到达本地系统,因此失败。但是在启用代理之后,我们托管 docker 的系统充当了 docker 请求的代理。
推荐阅读
- for-loop - 添加大于或等于约束
- python - 使用 tf.saved_model 预测多个输入向量(tensorflow 2.0)
- r - 在加载整个闪亮的应用程序时添加加载标志
- sql - 在多个列和行上应用 Pivot
- python - 如何创建一个帐户,并使用该帐户使用 imgur 上传图像
- dns - 访问特定域时启用 DNS over HTTPS (DoH)
- sql - Output of cast function
- .htaccess - 我想将我的单个 url 重命名为子域 url
- reactjs - 如何将 SVG/d3 地图添加到 React Native?
- vue.js - vuejs 使用 babel plugin-proposal-class-properties