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>