在docker中要通过http协议的url链接下载东西,然后就报这个错误。
简单来说,就是DNS解析出错,当程序遇到类似https://shaiicpublic.blob.core.chinacloudapi.cn/XXXX.txt
这样的链接时,无法解析前面的shaiicpublic.blob.core.chinacloudapi.cn
为对应的IP地址。
可以通过一些DNS在线解析服务,找到网址域名对应的IP地址,例如:站长工具DNS查询
那么代码就变成了:
path = d.get('https://shaiicpublic.blob.core.chinacloudapi.cn/XXXX.tar')
# 如果DNS域名解析有问题,直接找到域名对应的IP,填进去就好了
path = d.get('http://52.130.97.36/XXXX.tar')
但是有很大的概率解析不正确
也可以多尝试几个网站,比如:DNS解析
参考:
- 关于socket.gaierror: [Errno -2] Name or service not known报错解决
解决方案:在每个节点的etc/hosts文件中添加“127.0.0.1 localhost”映射。
- socket.gaierror: [Errno -2] Name or service not known
该问题主要是由于host名称没有在配置文件中指定,因此无法找到对应的IP。可以通过修改hosts文件解决。