docker - 在 Docker 中从 Github 运行 go 文件

标签 docker go

我使用“go get”命令从 Github 和 Docker 中的其他依赖项下载并安装我的 go 代码。例如:

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 - 在 Docker 中从 Github 运行 go 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53256000/

相关文章:

google-app-engine - Google App Engine Golang 返回 404 页面未找到

docker - 在 Docker 容器之间流式传输数据的最有效方式是什么

Docker Traefik 和 Letsencrypt 通配符

docker - Linux Mint中的Docker错误

json - 你如何在 Golang 中修改这个结构来接受两个不同的结果?

go - RSA key 导出和导入

ide - 在 Geany 中运行 Go

docker - 为什么当我创建它的节点被杀死时,Kafka 分布式连接器就会死亡?

Docker 使用 run-docker-runtime 日志淹没系统日志

go - websocket server 是否需要增加ack机制?