登录
首页 >  Golang >  Go问答

如何缓存 docker build 的包构建工件?

来源:stackoverflow

时间:2024-04-09 12:45:29 493浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《如何缓存 docker build 的包构建工件?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

典型的 go docker 模式是这样的:

# cache modules
COPY go.mod .
COPY go.sum .
RUN go mod download

COPY . .
RUN make

这将在编译实际源之前为下载的包创建一个(缓存)层。在添加应用程序之前,最好不仅下载而且编译软件包,以进一步加快重复构建的速度。

如何强制编译所有下载的包,而不考虑父应用程序?


解决方案


在 docker build 中使用 go mod download 的目的是避免等待依赖项的源代码被编译。由于您想避免这种行为,因此可以将该行替换为

RUN go get -d -v

今天关于《如何缓存 docker build 的包构建工件?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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