UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Jib】 Jibとは?

Java アプリケーションを動かすDockerコンテナイメージをつくりたい

そんなときjibというツールを知ったので調査してみた

github.com

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>