Docker怎么排查容器无法解析外网DNS域名

浅芳酱_2287

浅芳酱_2287

2026-10-19

273人浏览

原创

dns解析失败导致“temporary failure in name resolution”,需从容器内配置、docker守护进程策略及宿主机网络栈三层排查:先用ping和nslookup定位是否为dns问题,再通过临时覆盖resolv.conf或--dns参数验证,最后通过修改daemon.json、挂载宿主机resolv.conf或自定义网络dns实现永久修复。

docker怎么排查容器无法解析外网dns域名

当Docker容器内执行curl google.com报错“Temporary failure in name resolution”,或apt update卡在“Resolving packages...”时,说明DNS解析已中断——这不是网络连通性问题,而是域名到IP的翻译环节失效,必须从容器内部DNS配置、Docker守护进程策略、宿主机网络栈三层切入排查。

第一步:确认是DNS问题而非网络不通

进入容器执行:docker exec -it sh,然后依次运行:

① ping -c 3 8.8.8.8 —— 若能通,说明三层路由和NAT转发正常;若不通,先查宿主机net.ipv4.ip_forward是否开启、安全组出方向规则是否放行TCP/UDP。

② nslookup www.baidu.com 8.8.8.8 —— 强制指定公共DNS发起查询。如果返回IP,证明容器能发请求、也能收响应,只是默认DNS服务器不可用;如果超时或报connection timed out,说明容器发出的DNS请求被拦截或丢弃。

③ cat /etc/resolv.conf —— 查看当前生效的DNS配置。注意:Docker 20.10+默认写入nameserver 127.0.0.11,这是Docker内置DNS代理地址,不是真实DNS服务器;若此处出现127.0.0.1或内网DNS(如192.168.1.1),而宿主机本身又无法访问该地址,则必然失败。

第二步:临时验证DNS修复效果

方法一:直接覆盖容器内resolv.conf(仅限调试)

在容器中执行:echo "nameserver 8.8.8.8" > /etc/resolv.conf,然后立即测试nslookup google.com。这一步能快速验证是否为DNS配置错误导致——但【此操作在容器重启后失效,且可能被Docker守护进程自动覆盖】。

方法二:使用--dns参数重跑容器(推荐)

docker run --dns 114.114.114.114 --dns 8.8.8.8 -it ubuntu:22.04 ping -c 2 baidu.com。这个命令绕过所有全局配置,强制注入两个可靠DNS,适合快速验证环境兼容性。若成功,说明问题出在Docker daemon默认策略或网络模式上。

第三步:永久修复DNS配置

方案1:修改Docker daemon全局配置(影响所有新容器)

Crawl4ai Docker Skill
Crawl4ai Docker Skill

Docker化网页爬虫服务,支持REST API,可进行网页爬取与抓取,智能内容提取(基于 L...)

下载

编辑/etc/docker/daemon.json,加入"dns"字段:

{ "dns": ["114.114.114.114", "8.8.8.8"] }

保存后执行:sudo systemctl restart docker。注意:【此操作不会自动更新已运行容器的DNS,只对后续启动的容器生效】。

方案2:挂载宿主机resolv.conf(适用于企业内网DNS)

若宿主机DNS可正常解析(nslookup baidu.com返回正确结果),可让容器复用它:

docker run -v /etc/resolv.conf:/etc/resolv.conf:ro -it ubuntu:22.04 nslookup google.com

该方式避免了硬编码DNS,也规避了Docker自动生成127.0.0.11带来的不确定性,特别适合阿里云等云主机上宿主机DNS已配置好内网解析的场景。

方案3:为自定义网络单独指定DNS

先创建网络:docker network create --driver bridge --opt com.docker.network.bridge.enable_ip_masquerade=true --dns 114.114.114.114 mynet,再运行容器:docker run --network mynet -it ubuntu:22.04 nslookup google.com。这种方式隔离性强,不影响默认bridge网络,适合多租户或混合DNS策略环境。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

2023.07.24

725

4

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

5599

6

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

6617

6

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

2553

7

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

2026.02.11

279

16

Docker 容器部署
Docker 容器部署

本专题整合了Docker容器部署相关内容,阅读专题下面的文章了解更多详细操作教程。

2026.03.31

451

14

Java容器化部署与Docker实践教程合集
Java容器化部署与Docker实践教程合集

聚焦 Java 应用的容器化与云原生部署,讲解 Dockerfile 编写规范与 Java 应用镜像构建、多阶段构建(Multi-stage Build)减小镜像体积、Jib / Buildpacks 免 Dockerfile 镜像构建方案、JVM 容器感知参数(-XX:MaxRAMPercentage)配置、Docker Compose 编排多服务(应用 + MySQL + Redis)、容器健康检查与资源限制、Kubernetes

2026.05.11

420

26

Go Docker与容器化部署教程合集
Go Docker与容器化部署教程合集

聚焦 Go 应用的容器化部署优势与实践,讲解 Go 静态编译特性(CGO_ENABLED=0)与 scratch / distroless 极小基础镜像构建、多阶段 Dockerfile 编写规范、交叉编译生成目标平台二进制、镜像安全扫描(Trivy)与漏洞修复、Docker Compose 本地编排开发环境、Kubernetes Deployment / Service / ConfigMap 部署 Go 服务、健康检查(Livene

2026.05.15

305

24

Hyperf 项目部署运维与性能调优手册
Hyperf 项目部署运维与性能调优手册

聚焦 Hyperf 在生产环境的落地,包含 Docker 高效打包、Swoole 配置优化、常见的内存溢出(OOM)问题排查方法以及热更新方案。

2026.05.19

465

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程