私のJavaアプリケーションを含むカスタムイメージを構築しています。 基本的に私はの中にmvn clean install
と呼んでいます。 私はこのプロセスを高速化するためにRUN mvn -T 1C clean install
を使用しています。イメージビルド中のマルチスレッド
これは、使用可能なCPUコアごとに1つのスレッドを使用します。これで十分でしょうか? mvnはどのように利用可能なCPUコアを計算しますか? VMのものではなく、ホストのCPUをチェックするために何かをする必要がありますか?私はMac用のDockerを使用しています(これは内部的には私が知っている限りxhyveを使用しています)。
アップデート:私は1つのモジュール(脂肪ジャー、組み込みのTomcatとスプリングブートアプリケーション)、Mavenの3.3.9、スレッドブーストなしの総所要時間は約30分を構築しています
。膨大なオーバーヘッドは、S3のプライベートレポから依存関係をダウンロードすることです。
ドッカーは、仮想マシン(boot2docker)のVirtualBox上で実行されます。私はあなたがVirtualBoxを開いて、boot2docker VMを再設定できると思います。 – Tuan
最初にいくつのモジュールを構築していますか?ビルドは '-T..'なしでどれくらいかかりますか?どのMavenバージョンを使用していますか? – khmarbaise
@Tuan https://docs.docker.com/engine/installation/mac/ 'Mac用のDockerは、Mac向けの最新サービスです。これはネイティブMacアプリケーションとして動作し、xhyveを使ってDockerデーモンのためのDocker Engine環境とLinuxカーネル固有の機能を仮想化します。 ' – alkis