登录
首页 >  Golang >  Go问答

在 Docker 内从 Github 运行 go 文件

来源:stackoverflow

时间:2024-03-17 14:27:30 125浏览 收藏

在 Docker 环境中使用 Go 开发时,频繁地从 GitHub 获取依赖项会导致重复下载大量文件,影响开发效率。本文探讨了避免此问题的解决方案,区分了生产就绪应用程序的镜像构建和开发环境的容器使用场景。对于开发环境,建议使用基础映像并安装代码库,以快速响应代码更改。

问题内容

我使用“go get”命令从 github 下载并安装我的 go 代码以及 docker 内的其他依赖项。例如:

docker run golang go get -v "github_repo_directory"

它最初下载了超过 900 mb 的依赖项。然后我可以创建容器并在 docker 容器内运行代码。问题是,每当我更改代码中的某些内容时,我都必须完成所有过程,并且它会再次下载大量文件。有什么方法可以让我每次修改代码时都不必下载所有依赖项?我正在使用以下参考来运行我的代码。

https://flaviocopes.com/golang-docker/


解决方案


这取决于您想在这里做什么。如果您的目标是为您的生产就绪应用程序创建一个镜像并发布给其他人使用,那么您需要一个 Dockerfile,其中包含使用 go get -v "github_repo_directory" 获取代码的说明。这将产生一个您可以分发的新图像。然而,这对开发没有用,因为您对代码所做的任何更改都意味着您必须重建此映像。

如果您想使用 Docker 作为开发环境,您需要能够立即看到您在本地所做的更改。在这种情况下,您将使用允许您运行应用程序的基础映像(例如 go 提供的映像),并且您应该将代码库安装在 docker 容器内。我建议阅读一些有关 Docker 的内容,this 文章可能会有所帮助。

本篇关于《在 Docker 内从 Github 运行 go 文件》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

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