Voltar para artigos
DevOps

Como o Docker Me Salvou de um Conflito de Versões no Meio da Sprint

Publicado em 27 de mar. de 2026
Como o Docker Me Salvou de um Conflito de Versões no Meio da Sprint

Era terça-feira, início da sprint, e eu precisava dar manutenção em um projeto legado. O problema? Ele rodava com Node.js 14. Meu computador tinha Node.js 20 instalado para outros projetos.

Tentei usar o nvm (Node Version Manager) para alternar as versões. Funcionou... até eu precisar rodar dois projetos ao mesmo tempo: o legado na versão 14 e o novo na versão 20.

Resultado: 2 horas perdidas entre conflitos de dependências, variáveis de ambiente bagunçadas e um belo "module not found" que me fez questionar todas as minhas escolhas de carreira.

Foi aí que o Docker entrou em cena.

Nota: A história contada acima é fictícia e foi criada apenas para se ter um entendimento melhor do assunto de forma prática.

O Problema em Poucas Linhas

Dois projetos. Duas versões de Node. Uma máquina.

Sem Docker, a solução envolvia ficar alternando versões o tempo todo, ou subir uma máquina virtual pesada apenas para isolar um ambiente.

Com Docker, a lógica mudou completamente: cada projeto carrega seu próprio ambiente, sem poluir minha máquina.

A Solução em 3 Passos

1. Criar o Dockerfile

Na raiz do projeto legado (Node 14), criei esse arquivo:

FROM node:14-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]

2. Criar o Docker Compose

Criei um arquivo docker-compose.yml na raiz do projeto:

version: '3.8'
services:
  app:
    build: .
    ports:
      - "3000:3000"
    volumes:
      - .:/app
      - /app/node_modules

3. Rodar o Projeto

Com apenas um comando, o Docker sobe o ambiente isolado:

docker-compose up --build

O Resultado

Em menos de 5 minutos, eu tinha um ambiente de desenvolvimento isolado, com a versão exata do Node.js que o projeto precisava, sem conflitar com o resto do meu sistema.

O melhor de tudo: quando o projeto acabou, bastou um docker-compose down para remover tudo, sem deixar rastros.