
类型:虚拟化技术
简介:基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。
容器状态是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。
改端口后要重启吗?通常要重新创建容器。

