我想在Docker鏡像構建期間構建我的Go應用程序,並將圖像入口點設置爲構建的Go應用程序。問題是我的Go應用程序是主包的子包,並使用主包中的其他子模塊。這個主包在Github上作爲私有存儲庫,所以我不能只在容器內部使用go get
。解決Docker容器中的Go依賴關係
我試着設置Glide依賴關係管理器,並將容器外的所有依賴關係獲取到vendor/
目錄中,但還有另一個問題 - glide.lock在主私有存儲庫中的每次提交後都必須更新。這對我來說不是解決方案,因爲我想鎖定其他依賴關係。
有沒有什麼辦法用最新版本的主包依賴項和其他依賴項的鎖定版本來構建應用程序?
https://blog.golang.org/docker這裏是包裝碼頭集裝箱的好文章。您可以在DockerFile中定義應用程序的所有必需的子包和入口點 – ahankendi
由於需要手動克隆到GOPATH或使用支持ssh的glide的私有存儲庫,因此這不起作用。另外我需要依賴版本鎖定。 – kubaj