【发布时间】:2017-04-18 22:42:13
【问题描述】:
我想在 Docker 镜像构建期间构建我的 Go 应用程序,并将镜像入口点设置为构建的 Go 应用程序。问题是我的 Go 应用程序是主包的子包,并使用了主包中的一些其他子模块。这个主包作为私有存储库在 Github 上,所以我不能只在容器内 go get。
我尝试设置 Glide 依赖管理器并将容器外的所有依赖项放入 vendor/ 目录,但还有另一个问题 - glide.lock 必须在主私有存储库中的每次提交后更新。这对我来说不是解决方案,因为我想锁定其他依赖项。
有没有什么方法可以用最新版本的主包依赖和锁定版本的其他依赖来构建应用程序?
【问题讨论】:
-
blog.golang.org/docker 这是打包 docker 容器的好文章。您可以在 DockerFile 中定义应用程序的所有必需子包和入口点
-
这不起作用,因为私有存储库需要手动克隆到 GOPATH 或使用支持 ssh 的 glide。我还需要锁定依赖版本。
标签: git go docker dependencies