Docker镜像启动容器后无法通过localhost访问问题咨询
Docker容器端口映射后无法访问问题排查方向
- Node服务监听地址绑定错误:你使用的是非常老旧的Node 6.1.0版本,如果代码中服务监听的地址是
127.0.0.1,仅能在容器内部访问,外部宿主机无法连通。需要将代码中的监听地址修改为0.0.0.0,允许所有地址的访问请求。 - 实际监听端口与映射端口不匹配:
EXPOSE指令仅做端口声明作用,不代表服务实际使用该端口。请检查package.json中npm start对应的启动逻辑,以及业务代码中实际监听的端口是否确实为3112,如果端口不一致需要修改端口映射规则或者代码中的端口配置。 - 容器内服务启动异常:容器处于运行状态不代表内部服务已成功启动。执行
docker logs rce命令查看容器运行日志,排查是否有依赖缺失、启动报错、端口占用等问题,Node 6.1.0对应的很多旧版本依赖现在可能已无法正常安装,会导致启动失败。 - 宿主机端口被占用或防火墙拦截:检查宿主机
3112端口是否被其他进程占用,Linux/macOS可执行lsof -i:3112、Windows可执行netstat -ano | findstr 3112查看端口占用情况。同时确认宿主机防火墙是否拦截了3112端口的访问请求。 - Docker环境localhost解析异常:如果使用WSL2、Docker Desktop for Windows/macOS环境,可能存在localhost解析异常问题,可以尝试用
127.0.0.1:3112访问,或者执行docker inspect rce | grep IPAddress获取容器内网IP,直接通过容器IP加端口访问验证。
内容的提问来源于stack exchange,提问作者RulerNature
相关产品推荐
相关产品推荐

