docker 容器内 dns 解析错误 ping: bad address xxx 记录

发布时间 2023-03-28 15:53:23作者: iyiluo

镜像: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 域名了