Docker :: Otimizando builds de aplicações Java com multi-stage builds

Share:


Uma dica massa pra criar ciclos de entrega otimizados em Java e Maven usando Docker multi-stage builds. A ideia é otimizar o tamanho das imagens entregues.

Builds em Java normalmente costumam gerar imagens um pouco grandes. Nesse lab estaremos utilizando imagens base alpine do openjdk pra otimizar mais ainda a entrega de imagens pequenas.

Pra esse lab estarei utilizando essa aplicação de exemplo.


Build convencional com Maven



docker build -t http-status-code-normal .

Multi stage build

Vamos adicionar a imagem do maven como builder, e após realizar os mesmos passos pra criar o jar, vamos instanciar uma imagem base do openjdk e mover o artefato gerado pra ela. Assim  podemos ter uma imagem de execução mais "vanilla". 



docker build -t http-status-code-multi-stage .



Espero ter ajudado :)

Nenhum comentário