Docker排查容器端口无法访问
容器状态是Up,浏览器却打不开。排查这类问题时,常见原因通常不是Docker异常,而是三件事:端口写反、应用只听127.0.0.1、云安全组没放行。按顺序查,比到处改配置快。
先看容器
docker ps
docker ps -a
容器退出了,先看日志,端口问题放后面。
端口映射别写反
docker port 容器名
Compose:
ports:
- "8080:80"
左边8080是宿主机,右边80是容器内应用。访问时用8080,不是80。
应用监听地址
ss -lntup
如果只听 127.0.0.1,宿主机访问不到。改成 0.0.0.0 后再测。
防火墙和安全组
服务器本机测:
curl http://127.0.0.1:8080
本机能通、外网不通,查系统防火墙和云安全组。两个都要放行。
别混协议和端口
服务在8080,访问80肯定不通;后端只支持HTTP,就不要直接用HTTPS测。前面有Nginx,还要确认代理端口写对。
常见问题
容器启动成功但外网打不开?按容器、映射、监听、防火墙、安全组顺序查。
容器内能访问,宿主机不行?多数是监听127.0.0.1。
改端口后要重启吗?通常要重新创建容器。
广告合作
QQ群号:4114653
温馨提示:
- 本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。
- 本站原创内容未经允许不得转载,转载请注明出处“站长百科”和原文地址。