Uso inteligente das camadas
Laboratório
Dockerfile:
# imagem base
FROM node:22.7.0-alpine3.20
# diretorio de trabalho
WORKDIR /app
# copiar a aplicacao
COPY . .
# instalar as dependencias
RUN npm install
# execucao do comando para iniciar a aplicacao
ENTRYPOINT [ "node", "server.js" ]Destaque para:
# copiar a aplicacao
COPY . .
# instalar as dependencias
RUN npm installQualquer alteração na aplicação exigirá uma nova cópia e a execução do npm install sem utilizar o cache.
Todas as definições da aplicação estão definidas no package.json
Para evitar a nova cópia e a execução do npm install faz-se necessário um ajuste no Dockerfile:
Dockerfile:
Com isso, toda a alteração do código da aplicação não exigirá a cópia dos arquivos com as definições das dependências e sua instalação.
A alteração do código ocorre com mais frequência do que as dependências da aplicação.
Alterar o código da aplicação:
Destaque para o cache da cópia e instalação das dependências, e o não cache da aplicação:
Alterar a versão de uma dependência:
Destaque para a cópia e a instalação das dependências sem cache:
Last updated