Dockerでマルチステージビルドという機能を知ったので検証がてらCodeBuildで試してみました。 マルチステージビルドとは、例えばjavaアプリケーションにおいて、ビルドについてはjdkが入ったイメージを利用してビルドを行い、ビルドされたバイナリだけをjreが入ったイメージにコピーしてDockerイメージを作成することをDockerイメージのビルド時にできる機能となります。こうすることで簡単に実行するDockerイメージを小さくすることが可能となります。この機能はDokcerの17.05以降で利用可能となっています。 検証内容 Javaアプリをmavenがインストールされているコンテナでビルドして、jreがインストールされているコンテナをベースにイメージを作成しECRにプッシュします。 構成イメージは以下になります。 ECRの作成 イメージプッシュ用のリポジトリを作成します。 AWS
![CodeBuildでDockerイメージのマルチステージビルド - cloudfishのブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/2947cac43ae0b3abeb9c01d2bcc9f0c86dad4746/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fc%2Fcloudfish%2F20180808%2F20180808155111.png)