簡體   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