我有两个独立的 Spring Web 项目,一个位于我的计算机上,另一个位于 docker 容器中。我想做的就是在 8080 端口中暴露它们。无论如何,我可以实现这个目标吗?
我的计算机上的项目有一个安全配置文件,它会过滤请求并询问 jwt。所以我想我不能直接使用网关。
Docker 容器本身有自己的网络和一系列端口。从您的计算机上,您需要有一个端口(源端口),您需要将其转发到 docker 容器内的端口(目标端口)。因此,如果该映射是他们的并且您的 docker 容器正在运行。您计算机上的源端口已经在侦听传入请求,以便可以将其转发到 Docker 容器。
一旦端口已被使用,您就无法并行重用它来监听另一个应用程序/服务。
根据我的经验回答你的问题这是不可能做到的,或者至少他们不是直接的方法。
欢迎其他答案。谢谢
如果您向 NIC 添加辅助 IP 并告诉两个应用程序仅侦听其中一个 IP,则可以轻松地做到这一点。
如何执行此操作取决于您的操作系统。 这里 例如是 ubuntu 的手册。