Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从主机连接到docker容器内的.net core网站_Docker_.net Core - Fatal编程技术网

无法从主机连接到docker容器内的.net core网站

无法从主机连接到docker容器内的.net core网站,docker,.net-core,Docker,.net Core,我已经对此进行了搜索,但找不到解决方案。。。我有一个.NET核心web api项目,并将其封装在docker中。docker的主机是CentOS 7.5的VirtualBox中的虚拟机。我使用以下命令运行容器: docker run -d -name webapi -p 80:5000 netcorelnx docker exec -ti webapi /bin/bash 然后,我可以使用命令: docker run -d -name webapi -p 80:5000 netcorelnx

我已经对此进行了搜索,但找不到解决方案。。。我有一个.NET核心web api项目,并将其封装在docker中。docker的主机是CentOS 7.5的VirtualBox中的虚拟机。我使用以下命令运行容器:

docker run -d -name webapi -p 80:5000 netcorelnx
docker exec -ti webapi /bin/bash
然后,我可以使用命令:

docker run -d -name webapi -p 80:5000 netcorelnx
docker exec -ti webapi /bin/bash
到达该容器并在其中执行:

curl localhost:5000/api/values
这将返回.NET核心web api项目返回的正确值。 但是,当我试图通过使用url从主机浏览器调用此功能时,它会显示“连接已重置”。 这是我的dockerfile:

...
FROM microsoft/dotnet:2.1-aspnetcore-runtime-bionic AS runtime
...
ENV ASPNETCORE_URLS http://+:5000
ENTRYPOINT["dotnet", "NetCoreWebApi.dll"]

出什么事了?

像往常一样,经过数小时的调查和发帖,我找到了解决办法。问题是.NET核心应用程序的代码不是我写的。有一句话:

.UseKestrel(options => { options.Listen(IPAddress.Loopback, 5000); });
而不是

.UseKestrel(options => { options.Listen(IPAddress.Any, 5000); });