wils@web ~ $ cat ~/ajuda/como-criar-um-dockerfile-para-uma-aplicacao-node-js-com-multiplos-ambientes.md
DockerComo criar um Dockerfile para uma aplicação Node.js com múltiplos ambientes
Este manual tem como objetivo ensinar como criar um Dockerfile para uma aplicação Node.js que suporte múltiplos ambientes, como desenvolvimento, teste e produção.
Introdução
O uso de containers com Docker permite que você tenha um ambiente consistente para suas aplicações. Neste guia, vamos criar um Dockerfile que configura uma aplicação Node.js e permite a troca de ambientes facilmente.
Passo a Passo
1. Estrutura do Projeto
Primeiro, crie uma estrutura básica para sua aplicação:
mkdir meu-app && cd meu-app Crie um arquivo package.json:
{ "name": "meu-app", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js" }, "dependencies": { "express": "^4.17.1" } } 2. Criar o Dockerfile
Agora, crie um arquivo chamado Dockerfile na raiz do projeto:
FROM node:14
# Define o diretório de trabalho
WORKDIR /usr/src/app
# Copia os arquivos de configuração
COPY package*.json ./
# Instala as dependências
RUN npm install
# Copia o restante dos arquivos da aplicação
COPY . .
# Expõe a porta da aplicação
EXPOSE 3000
# Comando para iniciar a aplicação
CMD [ "npm", "start" ] 3. Configuração de Múltiplos Ambientes
Para suportar múltiplos ambientes, você pode usar variáveis de ambiente. Adicione um arquivo .env:
NODE_ENV=development
PORT=3000 Modifique o Dockerfile para usar variáveis de ambiente:
ARG NODE_ENV
ENV NODE_ENV $NODE_ENV
# Instala dependências de desenvolvimento ou produção
RUN if [ "$NODE_ENV" = "production" ]; then npm install --only=production; else npm install; fi 4. Construindo e Executando o Container
Agora você pode construir e executar sua aplicação:
docker build --build-arg NODE_ENV=production -t meu-app .
docker run -p 3000:3000 meu-app Conclusão
Com este Dockerfile, você pode facilmente alternar entre ambientes de desenvolvimento e produção. Uma dica importante é sempre manter suas dependências atualizadas e testar sua aplicação em todos os ambientes antes de fazer o deploy.
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.