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

无法通过curl或浏览器访问Docker Nginx容器问题求助

问题原因分析

1. 端口映射配置错误

官方Nginx镜像默认在容器内部监听80端口,但你创建容器时使用了错误的端口映射规则:

docker run -it -d --name test-nginx -p 8090:8091 nginx

-p 8090:8091的含义是将主机的8090端口转发到容器的8091端口,但容器内的Nginx根本没有在8091端口启动服务,导致转发的流量无人响应。

2. curl localhost:8090报错的原因

当你访问主机8090端口时,Docker会把请求转发到容器的8091端口,但该端口没有任何进程监听,TCP连接建立后容器端会直接重置连接,因此curl返回Recv failure: Connection reset by peer错误。

3. 其他访问失败的原因

  • curl localhost/curl 10.57.8.115:主机80端口既没有映射到容器,也没有本地HTTP服务运行,所以连接被拒绝。
  • curl localhost:8091/curl 10.57.8.115:8091:主机的8091端口未做端口映射,也没有服务监听,自然无法建立连接。
解决方法

先停止并删除错误配置的容器,再创建使用正确端口映射的容器:

# 停止并删除现有容器
docker stop test-nginx && docker rm test-nginx

# 创建正确映射的容器(主机8090端口映射到容器默认的80端口)
docker run -it -d --name test-nginx -p 8090:80 nginx

之后访问localhost:8090或10.57.8.115:8090即可正常打开Nginx默认页面。

内容的提问来源于stack exchange,提问作者Nitin Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 15:50:38