如何在 docker 主机和 docker 容器之间共享端口 8080 而不会发生端口冲突?

How to share the port 8080 between docker host and docker container with out port conflict?

我是 docker 的新手,无法实现要求。我必须 运行 docker 主机上的 apache Tomcat 和容器上的 apache。 但这是一个陷阱或令人困惑的部分,apache Tomcat 已经 运行 在 docker 主机(默认使用端口 8080)上启动 docker 容器。现在,我无法从容器中启动 apache configclient.html。我使用的 docker 网络是 host network, -net=host ,而 运行ning container.

这里的要点是 docker 主机,运行ning 的容器也在使用端口 8080 用于 运行ning apache tomcat。所以,现在 docker 主机和容器都使用相同的端口 8080。

如何解决 docker 主机和 docker 容器之间的端口冲突,两者都使用端口 8080!? 任何 help/suggestion 都可以在不更改端口地址的情况下让位给 运行 容器上的 apache 和主机上的 apache tomcat?! .请注意,我在这里使用专用网络。 (ip ->192.168.xx.xx)。 我找到了许多解释容器之间共享端口 80 的链接。但我的要求在这里是不同的!请原谅我在提出这个问题时提出的任何愚蠢的问题或糟糕的陈述。

您需要在主机上使用反向 www 代理来向容器发送子路径。

如果这不是答案,则说明您的要求存在歧义,因为主机 OS 必须能够解决哪些调用转到主机,哪些调用转到容器。

感谢您的回复和评论。是的,正如 Joshua 提到的,这是一个模棱两可的要求,必须将使用端口 8080 的应用程序移动到另一个容器并使用桥接网络。