Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Diferença do Dockerfile-fast-jar para o da Dockerfile.jvm

Olá, gostaria de saber qual é a diferença do Dockerfile-fast-jar para o da Dockerfile.jvm

Muito obrigado.

2 respostas
solução!

Olá, Marcus. Tudo certo? O fat jar contem, além do seu código, todas as dependências que ele precisa para rodar. Ele pega o código + dependências do projeto e empacota para um único arquivo .jar. O problema dessa abordagem é que temos perda de armazenamento, largura de banda e tempo. Como é um arquivo maior, toda vez que mudássemos apenas o código e precisássemos subir uma nova imagem, ele pegaria o código + dependências todas as vezes. Para termos uma opção a esse cenário, temos o dockerfile-fast-jar, que vai aproveitar as vantagens do mecanismo de camadas do Docker. As camadas serão ordenadas pela frequência de mudança, logo se tivermos alteração apenas em código, as camadas para os recursos e dependências serão reaproveitadas. Podemos ver isso no arquivo:

We make four distinct layers so if there are application changes the library layers can be re-used

COPY --chown=1001 target/quarkus-app/lib/ /deployments/lib/ COPY --chown=1001 target/quarkus-app/*.jar /deployments/ COPY --chown=1001 target/quarkus-app/app/ /deployments/app/ COPY --chown=1001 target/quarkus-app/quarkus/ /deployments/quarkus/

Muito obrigado João Victor.