docker asp.net core 2.1自定义端口

时间:2019-07-11 12:15:00

标签: docker asp.net-core

我正在尝试使用官方Microsoft asp.net core 2.1映像在docker容器中运行我的asp.net core wep应用程序。我的应用程序使用端口5000公开api。该端口在 appSettings.json

的自定义部分中配置

这是我使用的docker命令

docker container run --rm -p 5000:5000 -v C:\Build\MyApp:/build -w /build  --name coreApp mcr.microsoft.com/dotnet/core/aspnet:2.1 dotnet MyApp.dll

Insinde容器日志,我得到了以下

warn: Microsoft.AspNetCore.Server.Kestrel[0]
      Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.
Hosting environment: Production
Content root path: /build
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.

当我尝试转到http://localhost:5000时,我会得到 ERR_EMPTY_RESPONSE 。似乎容器未在容器内部将本地端口5000映射到5000

1 个答案:

答案 0 :(得分:1)

  

警告:Microsoft.AspNetCore.Server.Kestrel [0]         无法绑定到IPv6环回接口上的http://localhost:5000:“无法分配请求的地址”。

此警告是关键。

假设您正在使用.UseUrls(),请在配置中尝试"http://0.0.0.0:5000""http://+:5000"