docker System.Net.Http.HttpRequestException:无法分配请求的地址-在localhost中的2个.net core web应用程序之间通信时出错

ddrv8njm  于 2023-01-16  发布在  Docker
关注(0)|答案(2)|浏览(128)

我是Docker的新手,我有一个visual studio解决方案,有两个dotnet核心项目- UI和API。我已经为这两个项目添加了Docker支持,它们在我调试的任何时候都能正常工作。现在他们有了一个http客户端从web调用API,它突然开始给出“无法分配请求的地址”错误。
奇怪的是这个错误只出现在一台电脑上。我有第二台电脑仍然可以顺利地运行项目。其他团队成员都没有看到这个错误。
我已经删除了所有的容器和图片,但是没有用。我没有使用docker-compose,所以我找到的相关问题的答案对我来说不起作用。
文章here解释了localhost在docker中是如何被不同地解释的,但是我不确定如何让他的解决方案为我工作。
事实上,这个问题不会发生在其他电脑是什么真正困扰我在这里。
注意:我不确定我需要分享代码的哪一部分,因为我不知道什么与这个问题相关。

ycl3bljg

ycl3bljg1#

我在使用localhost url创建客户端时也遇到了同样的问题,我用http://host.docker.internal:5001替换了http://localhost:5001,效果很好。

2ledvvac

2ledvvac2#

如果您使用docker-compose,您可以使用compose.yml中的服务名称作为主机名,例如:

docker-compose.yml:
services:
  webapi1:
    ...
  eventmanager:
    ...

您可以在Docker网络内请求第二个集装箱,如下所示:

using var client = new RestClient("http://eventmanager");

相关问题