有没有办法传达使用容器启动的 rest api?



我一直试图向同一网络上的容器发送http post请求,但主机拒绝连接。以下是我调试后得到的结果:

  • 容器可以相互ping
  • 我可以使用机器上的REST通信访问这两个容器
  • 其他协议,AMQP和RPC通信工作良好
  • 该请求引发错误:[error 111]:主机拒绝连接
  • 我找到了一些涉及防火墙策略的解决方案,尝试了一下,但也不起作用

环境:

  • 操作系统:Ubuntu 20.04 LTS
  • 容器:使用fastapi的Uvicorn服务器

如有任何帮助,我们将不胜感激。

除非您的主机具有两个容器都可以解析的DNS名称,否则最简单的方法是使用--net=host将两个容器绑定到主机的网络。

您可以将消费服务绑定到--net=host,并将--publish绑定到生产服务的端口。

问题是,容器在单独的网络命名空间中运行,您需要一些东西(例如主机的网络(来充当共享命名空间。

另一种解决方案是,如果您的主机有一个可由消费容器解析的DNS,那么当转发生产容器的端口时,您可以使用主机的DNS名称和主机的端口来引用生产服务的端口。

相关内容

  • 没有找到相关文章

最新更新