使用docker-compose部署服务后无法通过localhost访问的问题求助
Docker容器运行但本地无法访问的排查方案
检查容器内服务监听状态
执行命令查看容器内80端口的监听情况:docker exec -it video-storage netstat -tulpn # 若netstat未安装,用ss命令: docker exec -it video-storage ss -tulpn确认输出中存在
0.0.0.0:80的监听记录,若服务仅绑定127.0.0.1:80,则外部无法访问,需修改服务配置绑定0.0.0.0。验证本地端口转发有效性
- 检查本地端口是否被Docker占用:
# macOS/Linux lsof -i :4000 # Windows netstat -ano | findstr ":4000" - 获取容器内网IP并直接访问:
用得到的IP访问docker inspect video-storage | grep "IPAddress"http://<容器IP>:80,若能访问则是本地端口转发问题;若仍无法访问,说明容器内服务未正常启动。
- 检查本地端口是否被Docker占用:
排查防火墙与安全软件干扰
- macOS:进入「系统偏好设置-安全性与隐私-防火墙」,确认未阻止Docker的网络请求
- 临时关闭第三方杀毒软件、VPN等工具,测试是否能正常访问
查看容器启动日志定位问题
执行命令查看服务启动日志,排查是否有启动报错:docker logs video-storage docker logs video-streaming重置Docker网络栈(针对macOS/Windows)
若以上步骤无效,重启Docker Desktop,或在设置中重置Docker网络:- 打开Docker Desktop设置
- 进入「Troubleshoot」选项卡
- 点击「Reset to factory defaults」重置网络配置
内容的提问来源于stack exchange,提问作者Oleg Tretiakov
相关产品推荐
相关产品推荐

