load json failed: HTTPSConnectionPool(host='...', port=443): Max retries exceeded with url: (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f6e3bf41790>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution 本文地址:http://www.04007.cn/article/1156.html,未经许可,不得转载.
找到了出错的地方,就是python中使用requests.get的时候报的“名称解析暂时失败”。域名解析失败我们当然有解决办法。本文地址:http://www.04007.cn/article/1156.html,未经许可,不得转载.
1.是进入/etc/hosts中添加对应域名的解析但是如果后面业务中又有新的域名访问的话,又得重新来添加域名解析。为什么域名现在解析不了呢?之前也能正常解析。只能推荐域名解析服务环境发生了变化。
2.DNS服务配置
修改配置文件 /etc/resolv.conf,将以下内容到文件中加入有效配置的行首。因为Too many DNS servers configured, the following entries may be ignored 尽量放在前面。
nameserver 114.114.114.114
nameserver 8.8.8.8本文地址:http://www.04007.cn/article/1156.html,未经许可,不得转载.
推测本次问题的原因可能是原来的容器里配置好了nameserver,而重新启动的容器里没有正确的nameserver。看到有篇文章里得出这样一个结论:本文地址:http://www.04007.cn/article/1156.html,未经许可,不得转载.
当宿主机resolv.conf文件不为空,容器启动命令中无resolv.conf文件的操作时,则容器默认使用宿主机的resolv.conf文件的内容当宿主机resolv.conf文件为空,容器启动命令中无resolv.conf文件的操作时,则容器会添加8.8.8.8和8.8.4.4到resolv.conf文件中
不过我在这里发现,并不是这样。我的宿主机resolv.conf文件一直不为空,但我启动的容器中的resolv.conf里加不了少的配置(人操作),像是和其它的docker容器有关系,这方面我不去深究了。本文地址:http://www.04007.cn/article/1156.html,未经许可,不得转载.
另外,在查看/etc/resolv.conf配置文件的时候,发现有一个search项,search的作用就是补全要访问的短域名,域名解析时首先会查找/etc/hosts,失败的话然后就根据nameserver查找域名,如果这两步都失败,则nameserver就进行search补全,将search的配置内容放在查询关键字符的后面,再重新进行查询。本文地址:http://www.04007.cn/article/1156.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1156.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |