DEV Community

Discussion on: Desenvolvendo Aplicação Node.js & Express.js com Docker

Collapse
 
glaucia86 profile image
Glaucia Lemos

é realmente uma boa prática e você pode fazer da seguinte maneira:

Copie seu package.json e package-lock.json antes de copiar seu código no contêiner. O Docker armazenará em cache os node_modules instalados como uma camada separada e, em seguida, se você alterar o código do aplicativo e executar o comando de compilação, o node_modules não será instalado novamente se você não tiver alterado o package.json

Se desejar saber mais detalhes a respeito, você poderá dar uma conferida nesse artigo aqui: dev.to/alex_barashkov/using-docker...

Collapse
 
leocavalcante profile image
Leo Cavalcante

É, hehe. O segredo é o .dockerignore, que é praticamente o primeiro passo do artigo original, hehe; aí da pra meter um COPY . . com mais tranquilidade e também além de reduzir o tamanho final da imagem, reduz o tempo de build junto porque a primeira coisa que ele faz é mover os arquivos para contexto. Além da pasta node_modules, é legal evitar enviar a .git e o arquivo .env que em muitos projetos contem dados sensíveis como senhas e keys de apis... aí se alguém pega sua imagem, roda, entra nela, vai ter tudo lá :S

Thread Thread
 
glaucia86 profile image
Glaucia Lemos

Posso colocar esse adendo no próximo post?

Thread Thread
 
leocavalcante profile image
Leo Cavalcante

Pode, claro :)