Docker “码头工人”;无法绑定到";

Docker “码头工人”;无法绑定到";,docker,.net-core,Docker,.net Core,我已经构建了我的第一个.net core 3.0 docker映像,但在尝试运行该映像时,docker返回了一些错误 我尝试了许多端口配置。我尝试导航到本地主机ip而不是本地主机。我也用谷歌搜索了很多 PS C:\Users\jamie\source\repos\Angular\Angular> docker run -it -p 8080:80 angular warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSyste

我已经构建了我的第一个.net core 3.0 docker映像,但在尝试运行该映像时,docker返回了一些错误

我尝试了许多端口配置。我尝试导航到本地主机ip而不是本地主机。我也用谷歌搜索了很多

PS C:\Users\jamie\source\repos\Angular\Angular> docker run -it -p 8080:80 angular
warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[60]
      Storing keys in a directory '/root/.aspnet/DataProtection-Keys' that may not be persisted outside of the container. Protected data will be unavailable when container is destroyed.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
      No XML encryptor configured. Key {b5292a1f-2d9a-456a-815f-90f19bfe21b1} may be persisted to storage in unencrypted form.
warn: Microsoft.AspNetCore.Server.Kestrel[0]
      Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.
warn: Microsoft.AspNetCore.Server.Kestrel[0]
      Unable to bind to https://localhost:5001 on the IPv6 loopback interface: 'Cannot assign requested address'.
Hosting environment: Production
Content root path: /app
Now listening on: http://localhost:5000
Now listening on: https://localhost:5001
Application started. Press Ctrl+C to shut down.
还有,这是我的dockerfile

FROM mcr.microsoft.com/dotnet/core/sdk:3.0
WORKDIR /app
COPY bin/Debug/netcoreapp3.0/publish .
ENTRYPOINT [ "dotnet", "Angular.dll"]

这些只是警告,但我认为问题出在应用程序端口,因为服务器运行在不同的服务器上,正如您所看到的

Now listening on: http://localhost:5000
Now listening on: https://localhost:5001
因此,请尝试绑定
5000
5001

docker run -it -p 8080:5000 angular

or

docker run -it -p 8080:5001 angular
正如David提到的,你也需要让自己倾听 尝试添加
ENTRYPOINT[“dotnet”、“Angular.dll”、“--url”、”http://0.0.0.0:5000“]
如果没有,请按照评论中链接的答案进行操作

谢谢,但这两种方法都不起作用。Chrome返回ERR_EMPTY_响应,docker控制台中的所有错误仍然出现。您是否能够在主机
dotnet Angular.dll
上运行此操作?然后访问David提到的浏览器,你也可以检查这个答案。您可能需要更改应用程序配置中的某些配置。类似“正在侦听:…localhost…”的消息表示无法从容器外部访问该进程;您需要在上面写上“0.0.0.0”(或IPv6:“)。但是我不知道怎么告诉.net。