概述
在arm设备上构建golang 1.22的Docker镜像,用来做程序的编译镜像,直接安装用ubuntu作为基础镜像,构建好的镜像,在编译的时候执行go get的时候,会报下面错误
go: github.com/***: Get "https://goproxy.cn/github.com/***": tls: failed to verify certificate: x509: certificate signed by unknown authority
结论
我们在构建 docker 镜像时一般使用的是 linux(centos或者ubuntu等待) 系统,默认是不带 ca-certificates 根证书的,导致无法识别外部 https 携带的数字证书。
所以在go get执行的时候发送https请求,就会提示x509:certificate signed by unknown authority
根据参考链接的操作,安装根证书就可以了。
Ubuntu的命令
RUN apt-get -qq update \
&& apt-get -qq install -y --no-install-recommends ca-certificates curl