Java アプリケーションを動かすDockerコンテナイメージをつくりたい
そんなときjibというツールを知ったので調査してみた
Jibは、Javaアプリケーション用に最適化されたDockerイメージをつくることができるMavenまたはGradleのプラグイン
【利点】
- MavenまたはGradle内からDockerイメージをビルドし、選択したレジストリにプッシュするので、Docker環境を用意したり、Dockerfileを作成したり、docker build / pushを呼び出したりする必要がない
- Javaアプリケーションを複数のレイヤーに分離しておく仕組みで、コードを変更した場合にアプリケーション全体ではなく、変更のみが再構築される
mavenにはこのような感じで設定する
<project>
...
<build>
<plugins>
...
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>2.4.0</version>
<configuration>
<to>
<image>myimage</image>
</to>
</configuration>
</plugin>
...
</plugins>
</build>
...
</project>