Dockerイメージビルド中にGoアプリケーションをビルドし、ビルドされたGoアプリケーションにイメージエントリポイントを設定したいとします。問題は、Goアプリケーションがメインパッケージのサブパッケージであり、メインパッケージの他のサブモジュールを使用していることです。このメインパッケージはGithub上にあり、プライベートレポジトリとして使用していますので、コンテナ内にはgo get
しか入れることができません。DockerコンテナのGo依存関係の解決
私は、Glide依存関係マネージャをセットアップしようとしましたが、コンテナの外のすべての依存関係をvendor/
ディレクトリに入れましたが、別の問題があります。glide.lockはメインのプライベートリポジトリでコミットするたびに更新する必要があります。他の依存関係をロックしたいので、これは私にとっては解決策ではありません。
最新のメインパッケージ依存関係と他の依存関係のロックされたバージョンでアプリケーションを構築する方法はありますか?
ここにhttps://blog.golang.org/dockerはドッキング用のコンテナを梱包するのに適した記事です。DockerFileでアプリケーションの必要なサブパッケージとエントリポイントをすべて定義できます – ahankendi
GOPATHに手動でクローンを作成する必要があるプライベートリポジトリやsshをサポートするグライドを使用する必要があるため、これは機能しません。また、依存関係のバージョンがロックされている必要があります。 – kubaj