在Windows Docker容器中启动HttpListener时访问被拒绝

时间:2018-09-25 19:03:14

标签: docker .net-core

当我在Windows Docker容器中运行的.NET Core 2.1控制台应用程序中启动HttpListener时,出现此异常:

  

System.Net.HttpListenerException:访问被拒绝

这是我的代码:

HttpListener httpListener = new HttpListener();
httpListener.Prefixes.Add("http://*:8080/test/");
httpListener.Start();

我的Docker映像基于以下Microsoft映像:

  

FROM microsoft / dotnet:2.1-运行时

当我在Docker容器外运行控制台应用程序时,如果我从具有管理员权限的命令提示符下启动该应用程序,则它可以正常工作。如果我以普通用户身份在容器外部运行它,则它将失败,并出现相同的“拒绝访问”异常。

在Docker容器中运行时如何避免这种异常?我认为您不能以管理员身份运行容器。 我看到了调用此命令的建议

netsh http add urlacl url=http://*:8080/ user=Everyone listen=yes

但是容器中的netsh命令没有http选项。

注意:如果我在容器中运行基于.NET Framework 4.7.2的相同程序,则它将起作用。

正在寻求建议。

0 个答案:

没有答案