当前位置: 首页 > 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.lryc.cn/news/590862.html

相关文章:

  • HCIE - 云计算拿下后的职业选择如何规划?
  • 生成式AI干预下的认知依赖与批判性思维发展:基于ChatGPT辅助写作的纵向追踪
  • HCIE - 云计算方向考什么?一文全解
  • docker--安装--原理
  • Flutter Android打包学习指南
  • 机器学习:数据清洗与预处理 | Python
  • cors跨域资源共享
  • 2025年Java后端秋招面试的高频八股文+场景题
  • Linux C 进程基本操作
  • 【Elasticsearch】Elasticsearch 快照恢复 API 参数详解
  • Git 多人协作实战:从基础操作到分支管理全流程记录
  • 关于el-table异步获取数据渲染动态列数据赋值列数据渲染时title高度异常闪过问题
  • vue3+ts+elementui-表格根据相同值合并
  • Linux之Zabbix分布式监控篇(二)
  • 算法竞赛备赛——【图论】求最短路径——Floyd算法
  • 【华为机试】122. 买卖股票的最佳时机 II
  • React 学习(4)
  • 研发知识系统选型实战:从 Notion 到 Gitee Wiki 的迭代经验
  • STM32 DMA通信详解
  • 求解偏微分方程的傅里叶积分解
  • ThreadLocal使用详解-从源码层面分析
  • Python 网络爬虫 —— requests 库和网页源代码
  • 智能体开发工具链全景图:IDE、调试器与监控平台
  • Fair-code介绍(Fair code)(一套新型软件模型:旨在“开源”“商业可持续性”中找到平衡)
  • Windows 11清理C盘方法大全:磁盘清理/禁用休眠/系统还原点/优化大师使用教程
  • Android默认背光亮度配置说明
  • 纯前端html实现图片坐标与尺寸(XY坐标及宽高)获取
  • SegNet:一种用于图像分割的深度卷积编码器解码器架构
  • RocketMQ 高可用集群架构与一致性机制解析
  • 【3D目标检测】Livox Tele-15采集的.lvx数据转.bag再转.pcd