繁体   English   中英

无法从主机连接到Docker容器内的.net核心网站

[英]Cannot connect from host to .net core website inside docker container

我已经搜索过此内容,但找不到解决方案...我有一个.NET Core Web API项目,并将其容器化在Docker内部。 我的Docker主机是带有CentOS 7.5的VirtualBox中的VM。 我使用以下命令运行容器:

docker run -d -name webapi -p 80:5000 netcorelnx

然后,我可以使用以下命令:

docker exec -ti webapi /bin/bash

进入该容器并在其中执行:

curl localhost:5000/api/values

这将返回我的.NET Core Web API项目返回的正确值。 但是,当我尝试使用URL http:// localhost / api / values从主机的浏览器中调用此命令时,它显示“连接已重置”。 这是我的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); });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM