当前位置: 首页 > news >正文

docker 容器无法使用dns解析域名异常问题排查

在宿主机上可以 ping baidu.com ,但是在容器里面无法使用dns,即无法ping baidu.com ,这种情况,可以参考 Docker容器内无法解析域名:Temporary failure in name resolution

但是如果参考上面依旧无法解决,那么可以参考以下记录

1 进入容器网络空间

有些镜像没有ping命令,这样的容器排查问题起来会很麻烦,这时候就可以在宿主机上,通过命令进入指定容器的网络空间里面,这样可以使用宿主机里面的ping命令,方便我们调试

 nsenter -n -t `docker inspect -f '{{.State.Pid}}' 容器id`

命令解释:docker inspect -f ‘{{.State.Pid}}’ 容器id 获取容器的pid, nsenter -n -t 命令用于进入指定进程的网络命名空间

执行完命令后,如果没有报错即进入了容器的网络空间了
这时候可以使用ping 命令进行 dns测试,如 ping baidu.com

正常情况应该可以看到这种情况:
在这里插入图片描述
但是,能看到文章这里的都是不正常的,应该是下面这种情况才对
在这里插入图片描述

2 问题排查

ping不通,使用 nslookup baidu.com 进行排查的时候,发现请求了127.0.0.53这个地址,但是我们容器里面根本没有这个地址,正常来说应该是请求本地,也就是127.0.0.11才对,这就发现问题了

在这里插入图片描述

3 修改问题

修改本机dns配置

# 停止并禁用 systemd-resolved
sudo systemctl disable --now systemd-resolved# 删除符号链接
sudo rm /etc/resolv.conf# 创建新的 resolv.conf
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf# 重启 Docker
sudo systemctl restart docker# 退出当前容器网络空间
exit

如果执行第一步 sudo systemctl disable --now systemd-resolved 的时候出现一下情况,那么这代表当前机器你有更改过hostname,比如加入docker swarm 集群的时候改的名字
在这里插入图片描述
这时候就需要加一条记录,把你当前主机名称hostname记录加进入即可

sudo vim /etc/hosts

在这里插入图片描述
这样再执行以上 修改本机dns记录的命令就不会出现sudo: unable to resolve host nodealiyun: Temporary failure in name resolution 问题了

执行完异常 修改本机dns记录的命令后, 再重新进入一下容器的网络空间:

nsenter -n -t `docker inspect -f '{{.State.Pid}}' 容器id

这时候再进行ping的时候,可以正常了
在这里插入图片描述

http://www.dtcms.com/a/284468.html

相关文章:

  • 微服务的编程测评系统3-加密-日志-apifox-nacos-全局异常
  • Kubernetes (k8s)环境重启Pod方式总结
  • CPU架构、三级缓存以及内存优化屏障
  • Allure + JUnit5
  • 打造风险评估体系,筑牢城市安全基石
  • 用Python实现神经网络(二)
  • 解决hadoop常用到的问题
  • TRAE IDE** 下载、安装、开发、测试和部署 2048 小游戏的全流程指南
  • Linux内核内存管理相关的配置参数
  • 腾讯会议本地录屏转存失败解决办法
  • React 18 vs Vue3:状态管理方案深度对比
  • 如何实现微信小程序引导组件【添加到我的小程序】+ 附源码
  • 2025最新版Python 3.13.5安装使用指南
  • AI+医疗!VR和MR解剖学和针灸平台,智能时代如何重塑健康未来
  • wx小程序原生开发使用高德地图api
  • Qt初阶开发:QMediaPlayer的介绍和使用
  • 工业控制线路板是什么?工控PCB的核心原理和设计要点
  • git基本操作【GIT-2】
  • Ubuntu20.04 安装qt5.12.8
  • 用Python实现神经网络(一)
  • 基于FPGA的IIC控制EEPROM读写(2)
  • 解决 MyBatis/MyBatis-Plus 中 UUID 类型转换错误的最佳实践
  • OC—初识UIStackView
  • 线程安全集合——CopyOnWriteArrayList
  • FRP配置( CentOS 7 上安装 FRP教程 )
  • MySql查询 值存在但查不到
  • 深度学习G3周:CGAN入门(生成手势图像)
  • 理解欧拉角:定义、转换与应用
  • HTTPS的工作原理及DNS的工作过程
  • 【LeetCode 热题 100】108. 将有序数组转换为二叉搜索树