Docker 网络排错:容器互通、DNS 与端口映射一次讲清

Docker 网络排错:容器互通、DNS 与端口映射一次讲清

容器网络问题经常表现为“本机能访问、容器里不能访问”或“端口已经映射却超时”。关键是分清请求发生在哪个网络命名空间。

1. 确认连接发起位置

先判断客户端在同一 Compose 网络、宿主机还是公网。不同位置使用的地址和端口不同。

2. 容器间优先使用服务名

同一网络内通过服务名和容器端口访问,不要写 localhost。localhost 在容器中只指向容器自身。

3. 检查应用监听地址

应用若只监听 127.0.0.1,即使端口映射正确也无法从外部连接。容器服务通常应监听 0.0.0.0。

4. 逐层验证 DNS、路由和防火墙

在发起请求的环境中测试域名解析和端口连通,再检查宿主机防火墙、云安全组和反向代理。

常见误区

  • 在容器中用 localhost 访问另一个服务
  • 混淆容器端口与宿主机端口
  • 应用只监听回环地址
  • 一次同时修改多层网络配置

执行检查清单

  • 发起位置明确
  • 服务名解析正常
  • 监听地址正确
  • 安全组和防火墙放行

总结

网络排错应从请求发起点逐跳验证。只要分清每一跳的地址和端口,问题通常很快就能定位。

上一篇 Docker Healthcheck 设计指南:让健康检查反映真实可用性
下一篇 Docker 服务迁移到新服务器:停机窗口与数据校验清单

探索站点内容

搜索文章、标签、分类

热门文章

暂无文章