处理docker容器错误“cURL error 6: Could not resolve host“

本文章记录docker容器dns相关故障的排查与修复

排查

检查URL解析

进入容器使用curl确认是否可以正常解析域名
docker exec -it freenom /bin/bash
在出现的命令行执行
curl <URL>
比如curl baidu.com,查看其输出
我的环境中直接是提示bad address的错误

查看DNS配置

依旧在容器的命令行中
cat /etc/resolv.conf查看配置文件的nameserver都用的啥
可以改为你确认可用的DNS服务器
随后再次运行查看是否正常

修复

方式一

docker run命令中加入--dns <DNS_SERVER>参数,手动指定此容器使用的DNS
我采用了这种

方式二

信息来自互联网,未实际确认 注:改完应该需要 重启docker服务
对docker的配置文件进行修改
vim /etc/docker/daemon.json
在其中加入DNS配置项

"dns" : [
"8.8.8.8",
"119.29.29.29"
]

猜你喜欢

转载自blog.csdn.net/sean908/article/details/124958708