docker - 通过特定端口连接到 docker tomcat 容器
问题描述
很长一段时间以来,我们一直在使用 swarm 在 Docker 容器中运行 Tomcat。但是,最近有一个从传入请求中捕获客户端 IP 地址的请求。因此,为了满足该请求,我将8380:8080
docker 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 机器上运行。
有没有办法解决这个问题并允许直接处理对主机端口的请求?
解决方案
推荐阅读
- node.js - npm i 期间出错:node-pre-gyp install --fallback-to-build --library=static_library
- amazon-web-services - AWS Glue Crawler 创建分区和文件表
- node.js - 是否可以使用 localStorage 之类的私有环境变量?
- .net - 根据 DataTable 更改 DGV 复选框状态
- r - 替换 for 循环 - R 脚本
- python-3.x - 如何在python中确定outlook项目的类型
- javascript - 从数组中删除重复的对象总是返回第 n 个索引
- grails - 如何使 grails 2 文档退出生成水平滚动条?
- c# - 使用 REST API 将 Xamarin Forms 连接到 SQL Server 2017 Management Studio
- php - 在php文件中获取解析错误