docker 容器内 dns 解析错误 ping: bad address xxx 记录
镜像:mcr.microsoft.com/java/jdk:8-zulu-alpine
故障现象:
今天发现 docker-compose 的 java 容器内无法 ping 互联网域名,但是可以 ping 互联网 ip
排查过程:
刚开始以为是 dns 问题,先重新配置了服务器 dns,又去配置 docker 的 daemon.json 配置,也去 docker-compose.yml 添加 dns 设置,都无法生效。最后强制把服务器的 /etc/resolv.conf 挂载覆盖容器内的文件,互联网域名 dns 可以生效,但是 docker-compose 服务之间的域名访问丢失
排查服务器防火墙,发现症状依旧
处理结果:
查看容器的 alpine 版本
cat /etc/alpine-release
最后发现是 alpine 版本的问题
alpine 3.13, 3.14, 3.15 的版本 dns 解析都有问题,官方一直没处理
只能回滚 alpine 版本,用 alpine 3.12 版本,终于可以 ping 域名了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构