如何解决Docker内部的Dotnet给出了Connection Refused错误
我正在运行一个使用Docker容器中的Dotnet Core和Swagger创建的API。该API与服务器中托管的另一个API连接。
当我在机器上本地运行API时,此连接可以正常工作,但是,当我在docker容器中运行它时,出现 System.Net.Http.HttpRequestException:连接被拒绝我尝试向服务器发出请求。但是,如果我使用curl从docker容器的CLI内部执行完全相同的请求,则该请求似乎运行良好,因此我认为这是dotnet或swagger引起的问题。
还有,如果我在连接到VPN(服务器所在的同一网络)的同时运行docker容器,则不会引发异常,并且一切正常。
我的Dockerfile:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
# Set up working directory
WORKDIR /app
# copy config and application file
COPY netcoreapp3.1/publish/ app/
# expose port used by api
EXPOSE 5004
ENV ASPNETCORE_URLS=http://+:5004
ENTRYPOINT ["dotnet","app/DigitalTwin.Api.dll"]
引发的异常:
Microsoft.AspNetCore.Server.Kestrel[13]
digital-twin-api | Connection id "0HM316M7IU0UH",Request id "0HM316M7IU0UH:00000003": An unhandled exception was thrown by the application.
digital-twin-api | System.Net.Http.HttpRequestException: Connection refused
digital-twin-api | ---> System.Net.Sockets.SocketException (111): Connection refused
digital-twin-api | at System.Net.Http.ConnectHelper.ConnectAsync(String host,Int32 port,CancellationToken cancellationToken)
digital-twin-api | --- End of inner exception stack trace ---
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。