背景
修改完docker-compose文件后,docker-compose build突然提示错误

failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to do request: Head "https://registry-1.docker.io/v2/library/python/manifests/3.9-alpine": x509: certificate signed by unknown authority
排查过程
遇到问题报错,习惯性把报错信息直接粘贴到google搜索

一看到GitHub和StackOverflow有,立马就安心了,肯定没问题

找到点赞最多的答案,居然是DockerFile要改成Dockerfile?
可是我现在就是Dockerfile,这个可以排除
还有说是docker builkit的问题,把它设置为false
改完,重启docker deamon
重新构建,还是一样的报错,并且发现docker构建不是并行的了,而是一个个的去构建。

这种搜索结果,大概率是解决不了问题的
但还是不要随意放弃,都点开试试,第一个就不看了,日语看不懂。

大概说是ssl根证书有问题,但一直以来都行的,最近没操作过ssl证书,这个排除掉
又搜索一轮,看到翻阅答案,始终没找到什么办法
当出现一些奇怪问题的时候,关闭VPN试试
于是就把公司的VPN和科学上网关闭掉,很遗憾依然不行。
真是操碎了心啊,这可咋整!
难道我改动docker-compose有问题?
切换到master分支,这个是没有改动过的 ,依然不行!
真是令人头秃!
会不会是我的镜像太复杂了?
用个最简单的hello world试试

这下子完犊子了,hello-world都跑不起来
那加上hello-world和错误信息搜索看看?

刚刚确实关闭了VPN,这个proxy?
难道是下午刚刚下载的Charles???

似乎找到了元凶,立马关闭Charles试试

hello world它跑起来了!!!
再试试自己的项目,也很顺利的跑起来
总结
- 排查问题筛选错误信息很关键,尽可能使用google + 英文搜索,Github和StackOverflow往往更容易找到答案
- 网络相关的问题,一定要注意排查代理,VPN之类的软件
- 当问题太复杂时,不妨换个角度,从最简单的case开始
- 确认问题开始的时间点,逐个检查最近做的操作是否有关
- 搜索的答案不能直接解决问题时,可以提取答案中的相关关键字二次搜索
本文由博客一文多发平台 OpenWrite 发布!