【发布时间】:2021-09-13 06:23:27
【问题描述】:
我们正在使用 docker compose 进行微服务的端到端开发和测试。基本上每个 compose 服务都有一个从普遍存在的开发端口到容器标准生产端口 8080 的端口映射。
[UC1] 开发模式下的 UI 在已知 开发端口(docker 端口映射)上调用 localhost 上的微服务。 可以停止 docker 网络上的任何容器并在 IDE 中重新启动它。 UI 仍然可以调用服务,只要 IDE 进程绑定到开发端口(这是默认配置文件),服务仍然可以调用其他服务。这就是我们通过 UI 成功调试微服务的方式。
[UC2] 但是,当 docker 中运行的微服务回调 IDE 中运行的微服务时,此解决方案会失败。这是因为 docker compose 网络中的容器与 localhost 是隔离的。他们通过容器名称找到彼此,但不知道 docker 主机。
如何以最少的配置更改和与 UC1 相同的灵活性启用 UC2?
【问题讨论】:
标签: docker docker-compose containers microservices development-environment