在vscode中使用docker插件来写 Dockerfile
和docker-compose.yaml
文件是非常舒服的,但是有一个问题一直困扰着我,大概有一年了。
在编写yaml时,在版本声明的位置一直有红线提示,但是yaml语法啥的根本没有问题,这就很令人讨厌了。
之前在网上搜过解决问题,没啥收获,因为不影响使用,所以就不了了之了。今天刚好有空,想解决下这个报错:
Unable to load schema from 'https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json': getaddrinfo ENOENT raw.githubusercontent.com.(768)
之前一直没仔细看这个错误,今天分析了一下应该是找不到这个docker-compose的语法提示文件,我用浏览器也试着打开文件,发现也是没法打开的,在github的vscode的issuer中也没有搜到相关内容,然后我就想着搜一下报错后面的信息getaddrinfo ENOENT raw.githubusercontent.com
,没想到还真搜到了说是这个地址的DNS被污染了(链接),本来想偷个懒直接拿他的配置来用
修改hosts文件C:\Windows\System32\drivers\etc\hosts
(使用管理员权限)
151.101.0.133 raw.githubusercontent.com
改了之后没想到又报错了:
Unable to load schema from 'https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json': read ECONNRESET.(768)
那说明改的不对啊,那我就又想既然是DNS被污染了,那肯定是IP跟域名映射的不对。改了本地的hosts还报错,说明地址还是没改对,那么咱就找下专业人士看看最新的IP是多少
# github start
199.232.68.133 raw.githubusercontent.com
# github end
改了之后就再也没有报错过。完美