我如何在同一个端口中公开两个 Spring Boot 应用程序(一个是 docker 容器)

问题描述 投票:0回答:2

我有两个独立的 Spring Web 项目,一个位于我的计算机上,另一个位于 docker 容器中。我想做的就是在 8080 端口中暴露它们。无论如何,我可以实现这个目标吗?

我的计算机上的项目有一个安全配置文件,它会过滤请求并询问 jwt。所以我想我不能直接使用网关。

spring-boot docker spring-mvc spring-security
2个回答
0
投票

Docker 容器本身有自己的网络和一系列端口。从您的计算机上,您需要有一个端口(源端口),您需要将其转发到 docker 容器内的端口(目标端口)。因此,如果该映射是他们的并且您的 docker 容器正在运行。您计算机上的源端口已经在侦听传入请求,以便可以将其转发到 Docker 容器。

一旦端口已被使用,您就无法并行重用它来监听另一个应用程序/服务。

根据我的经验回答你的问题这是不可能做到的,或者至少他们不是直接的方法。

欢迎其他答案。谢谢


0
投票

如果您向 NIC 添加辅助 IP 并告诉两个应用程序仅侦听其中一个 IP,则可以轻松地做到这一点。

如何执行此操作取决于您的操作系统。 这里 例如是 ubuntu 的手册。

© www.soinside.com 2019 - 2024. All rights reserved.