我想在Docker镜像构建期间构建我的Go应用程序,并将图像入口点设置为构建的Go应用程序。问题是我的Go应用程序是主包的子包,并使用主包中的其他子模块。这个主包在Github上作为私有存储库,所以我不能只在容器内部使用go get
。解决Docker容器中的Go依赖关系
我试着设置Glide依赖关系管理器,并将容器外的所有依赖关系获取到vendor/
目录中,但还有另一个问题 - glide.lock在主私有存储库中的每次提交后都必须更新。这对我来说不是解决方案,因为我想锁定其他依赖关系。
有没有什么办法用最新版本的主包依赖项和其他依赖项的锁定版本来构建应用程序?
https://blog.golang.org/docker这里是包装码头集装箱的好文章。您可以在DockerFile中定义应用程序的所有必需的子包和入口点 – ahankendi
由于需要手动克隆到GOPATH或使用支持ssh的glide的私有存储库,因此这不起作用。另外我需要依赖版本锁定。 – kubaj