You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

提交Docker容器后服务无法访问的技术咨询

无法访问Docker容器服务的排查方案

先整理下你提供的容器状态和端口映射信息:

[root@kentuckianatradenew log]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                                      NAMES
19d7479f4f66   newsslcyclos   "catalina.sh run"        12 minutes ago   Up 12 minutes   0.0.0.0:80->80/tcp, 8080/tcp               n2n33
88175386c0da   cyclos/db      "docker-entrypoint.s…"   26 hours ago     Up 21 minutes   5432/tcp                                   cyclos-db
docker port 19d7479f4f66
80/tcp -> 0.0.0.0:80

既然提交前服务正常,提交后无法访问,咱们从这几个方向逐一排查:

1. 先确认容器内部服务是否真的正常运行

容器显示Up不代表内部的Tomcat服务一定正常启动。可以做这两步:

  • 查看容器日志找报错:docker logs 19d7479f4f66,重点看有没有端口占用、配置文件错误,或者依赖的cyclos-db连接失败的信息。
  • 进入容器内部测试:docker exec -it 19d7479f4f66 bash,然后执行curl localhost:80或curl localhost:8080,如果内部都访问不了,那问题肯定出在容器里的服务本身(比如Tomcat启动失败)。

2. 检查主机防火墙/安全组规则

主机的防火墙可能拦截了80端口的外部请求:

  • 可以临时关闭防火墙测试(比如CentOS系统执行systemctl stop firewalld),如果能访问了,就给80端口添加永久放行规则:firewall-cmd --add-port=80/tcp --permanent,再执行firewall-cmd --reload生效。
  • 如果是云服务器,还要检查云平台的安全组,确保80端口的入站规则是开放的。

3. 验证主机80端口是否被其他进程占用

虽然Docker显示映射了0.0.0.0:80,但可能主机上有其他服务(比如nginx、httpd)抢占了这个端口。执行netstat -tulpn | grep :80或ss -tulpn | grep :80查看端口占用情况:

  • 如果有其他进程占用,要么停掉该进程,要么修改Docker的端口映射(比如改成8081:80),然后重启容器:docker restart n2n33。

4. 检查应用容器与数据库的连接状态

你的应用依赖cyclos-db容器,虽然数据库容器显示Up,但可能应用连接数据库失败导致服务无法正常提供:

  • 在应用容器内部ping数据库容器名:docker exec -it 19d7479f4f66 ping cyclos-db,如果ping不通,说明两个容器不在同一个Docker网络里。
  • 用docker inspect n2n33 | grep Networks和docker inspect cyclos-db | grep Networks确认网络归属,若不在同一网络,执行docker network connect <数据库所在网络名> n2n33把应用容器连过去。

5. 排查提交容器时的配置变更

既然提交前正常,提交后出问题,回忆下提交时有没有修改过容器配置、镜像内容(比如修改Tomcat的server.xml、替换应用war包):

  • 可以用docker diff 19d7479f4f66查看容器内文件的变更记录,说不定是修改了某个配置导致服务启动异常。

先从这几个点入手排查,应该能定位到问题所在。

内容的提问来源于stack exchange,提问作者Muhammad Muazzam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:23:41