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

Docker容器运行正常但Nginx无法在外部浏览器访问的问题排查

问题描述

我已部署一个简单的Docker容器,执行命令:

docker run -d -p 8080:80 -d nginx:stable-alpine3.20-perl

通过docker ps -a查看容器状态如下:

root@manual:~# docker ps -a
CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS          PORTS                                     NAMES
95d7a0079959   nginx:stable-alpine3.20-perl   "/docker-entrypoint.…"   38 minutes ago   Up 38 minutes   0.0.0.0:8080->80/tcp, [::]:8080->80/tcp   my_nginx

端口映射配置正常,访问http://localhost:8080/可获取HTML响应,防火墙未启用,容器内部也能访问Nginx且80端口已暴露,但外部浏览器无法打开Nginx页面,请问问题出在哪里?

排查方向
  • 主机端口绑定验证:执行ss -tulnp | grep 8080确认端口是否确实绑定到0.0.0.0,若仅绑定127.0.0.1,外部设备无法访问。
  • 云服务商安全组规则:如果主机是云服务器,检查云平台安全组是否开放8080端口的入站流量,多数云平台默认不开放非标准端口。
  • 局域网访问规则:若主机在局域网内,外部设备需使用主机的局域网IP而非localhost访问;若外部设备不在同一局域网,需确认路由器是否配置了对应端口的转发规则。
  • Docker网络驱动测试:切换到host网络模式运行容器(执行docker run -d --network host nginx:stable-alpine3.20-perl),若此时外部能访问,说明bridge网络的转发存在异常。
  • 端口占用排查:用lsof -i :8080或ss -tulnp | grep 8080检查8080端口的实际占用进程,确认是否为Docker进程在监听,排除端口被其他进程抢占的情况。

内容的提问来源于stack exchange,提问作者Satya Asrith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 10:33:12