登录
首页 >  Golang >  Go问答

在 Dockerfile 中使用 GOPROXY 时出现 x509 证书错误

来源:stackoverflow

时间:2024-03-17 08:33:28 372浏览 收藏

使用 Dockerfile 设置 GOPROXY 时,出现 x509 证书错误。尽管 goproxy 的目的是允许在私有网络中使用 Go 模块,但 Docker 容器内的 go mod download 命令仍与外部互联网资源交互,导致证书错误。这表明 Docker 容器缺少有效证书来验证外部资源的证书链。

问题内容

看起来这应该很容易,但由于某种原因我让它变得很糟糕。 我有私人(公司)网络为我提供 goproxy 服务: “https://my.corp.network/repository/golang”

在我的文档文件中,我有:

ENV GOPROXY=https://my.corp.network/repository/golang
COPY . .
RUN go mod download

docker build 出现错误: “https://sum.golang.org/{path} x509:由未知机构签名的证书”

goproxy 的全部目的不就是让我不必与 go 模块的基于互联网的资源进行交互吗?

当我不使用 docker 时,我的 go 环境有这样的: goproxy="https://my.corp.network/repository/golang" , 我可以使用 go get -u github.com/go fiber/ fiber/v2 ,这工作正常,我构建了本地烟雾测试环境。

当我使用 docker 将进程容器化时,为什么会失败?


正确答案


@SteffenUllrich 正确地指出问题是缺少有效证书。我在本地公司存储库中找到了一个图像,该图像作为公司证书设置正确,并且从那里开始,Go 实现的其余部分都很好。

终于介绍完啦!小伙伴们,这篇关于《在 Dockerfile 中使用 GOPROXY 时出现 x509 证书错误》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>