wils@web ~ $ cat ~/ajuda/como-criar-um-dockerfile-otimizado-para-uma-aplicacao-node-js-guia-pratico.md
DockerComo criar um Dockerfile otimizado para uma aplicação Node.js: Guia prático
Este guia prático ensina como criar um Dockerfile otimizado para uma aplicação Node.js. Um Dockerfile bem estruturado pode melhorar a performance e a portabilidade da sua aplicação.
1. Pré-requisitos
- Docker instalado na máquina
- Conhecimento básico de Node.js
2. Estrutura do Dockerfile
Um Dockerfile é um arquivo de texto que contém instruções para construir uma imagem Docker. Vamos criar um exemplo básico.
2.1 Criando o Dockerfile
FROM node:18-alpine
Utilizamos a imagem node:18-alpine para garantir um ambiente leve e otimizado.
2.2 Definindo o diretório de trabalho
WORKDIR /usr/src/app
Define o diretório onde a aplicação será instalada.
2.3 Copiando arquivos
COPY package*.json ./
Copiamos os arquivos de configuração do npm primeiro para otimizar o cache do Docker.
2.4 Instalando dependências
RUN npm install --production
Instalamos apenas as dependências necessárias para produção.
2.5 Copiando o restante da aplicação
COPY . .
Agora copiamos o restante dos arquivos da aplicação.
2.6 Expondo a porta
EXPOSE 3000
Expondo a porta onde a aplicação irá rodar.
2.7 Definindo o comando de inicialização
CMD [ "node", "app.js" ]
Define o comando que será executado ao iniciar o container.
3. Dockerfile Completo
FROM node:18-alpine
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install --production
COPY . .
EXPOSE 3000
CMD [ "node", "app.js" ]
4. Construindo e Executando a Imagem
- Construa a imagem:
docker build -t minha-aplicacao . - Execute o container:
docker run -p 3000:3000 minha-aplicacao
Conclusão
Com este Dockerfile, sua aplicação Node.js estará otimizada e pronta para ser executada em qualquer ambiente. Lembre-se de sempre revisar e atualizar suas dependências.
Dica: Utilize o docker-compose para gerenciar múltiplos serviços facilmente.
Precisa de ajuda com isso no seu servidor? A gente resolve pra você.
falar no WhatsApp →// deu erro ou não funcionou?
Achou algo errado neste manual?
Conta pra gente o que deu errado ou qual erro apareceu — a gente corrige. Se quiser retorno, deixe seu contato.