【问题标题】:How to access localhost service with http proxy on docker network如何在 docker 网络上使用 http 代理访问 localhost 服务
【发布时间】:2020-06-18 20:05:24
【问题描述】:

所以我有一个在 docker-compose 服务和该 compose 的网络上运行的 react 服务的设置。对于那个反应服务,我使用http-proxy-middleware 能够在开发和生产中只使用相对端点(/api/... 而不是 localhost:xxxx/api/...),但也因为其中一个库我所依赖的需要它(出于同样的原因)。

我还有一个 python 烧瓶后端,我想在 localhost 网络上运行,以避免在每次更改时重新启动整个 docker-compose。

目前,代理(如我所料)在使用时会出现“ECONNREFUSED”错误,因为它无法连接到后端。

有没有人知道我如何让代理能够访问后端而不必在 docker-compose 中运行后端?

提前致谢,维达

【问题讨论】:

  • 关于运行pythonflask后端,你能不能不简单地在热重载模式下运行它,在这种情况下,一旦检测到变化,flask服务器就会“重新编译”自己?
  • 我不知道这甚至是一件事,经过一番谷歌搜索后,我会试一试,谢谢@Hikash。但是,我确实看到了一个问题,那就是它不适用于 IDE 调试器。 ://
  • 我认为这是正确的。由于您在 python 中,至少您仍然可以使用 pdb。对于它的价值,我认为您应该能够让您的 docker-compose 前端与您的本地后端通信,但我认为您需要将本地后端视为远程服务器,我想您需要告诉前端需要什么 ip(即不是环回)或域。如果您还没有,您可能还需要更改烧瓶以在 0.0.0.0 上投放。

标签: docker http-proxy docker-networking


【解决方案1】:

所以我终于在@Hikash 的帮助下将我的前端代理设置为通过我从ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+' 获得的IP 连接到本地主机。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-14
    • 1970-01-01
    • 2019-03-02
    • 2015-03-04
    • 2011-01-07
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多