首页 > 解决方案 > 通过特定端口连接到 docker tomcat 容器

问题描述

很长一段时间以来,我们一直在使用 swarm 在 Docker 容器中运行 Tomcat。但是,最近有一个从传入请求中捕获客户端 IP 地址的请求。因此,为了满足该请求,我将8380:8080docker compose 文件中的端口映射更改为以下内容:

- target: 8380
  published: 8080
  mode: host

这允许客户端 IP 地址通过,而无需更改为 Docker 的内部网络 IP。

在更改之前,我们可以很好地http://ourapp.com:8380/app访问应用程序。

但是,更改后,我无法再通过包含端口号来访问应用程序。我已确保将端口添加到 firewalld 并重新加载,但这没有帮助。我暂时停止了 firewalld 进程,只是为了验证它不是防火墙问题,这没有帮助。

服务器的响应是

This site can’t be reached
ourapp.com took too long to respond.
Try:

 - Checking the connection
 - Checking the proxy and the firewall
 - Running Windows Network Diagnostics

ERR_CONNECTION_TIMED_OUT

所有这些都在 CentOS 7 机器上运行。

有没有办法解决这个问题并允许直接处理对主机端口的请求?

标签: dockerdocker-swarm

解决方案


推荐阅读