Docker: quando usá-lo e quando ele complica a sua vida
Publicado em 2026-09-12 por frfrand
Qué problema resuelve de verdad, los cuatro casos donde suma sin discusión, los tres donde es peso muerto, y los errores que convierten una buena idea en un dolor de cabeza.

Docker é explicado muitas vezes pelo que não é. Diz-se que isola, e isola pouco em comparação com uma máquina virtual. Diz-se que é leve, e isso é verdade, mas secundário.
O que o Docker resolve de verdade é a reprodutibilidade.
A ideia central
Você escreve um arquivo que descreve o ambiente: de qual imagem base parte, quais dependências instala, quais versões exatas, como inicia a aplicação.
Dali sai uma imagem: um sistema de arquivos congelado. Essa imagem é idêntica no seu laptop, no servidor de integração e em produção.
Isso mata de raiz o problema mais antigo do ofício: "no meu computador funciona". Não funciona no seu computador: funciona nessa imagem, que é a mesma em todos os lugares.
Os quatro casos onde soma sem discussão
Vários serviços com versões distintas. Um projeto precisa do Node 18 e outro do Node 22. Um projeto quer o Postgres 14 e outro o Postgres 17. Sem contêineres isso é uma dor de cabeça permanente; com contêineres, não é nada.
Software difícil de instalar. Algumas ferramentas têm processos de instalação longos e frágeis. Uma imagem oficial resolve em um comando o que de outra forma levaria uma tarde.
Uma equipe que precisa do mesmo ambiente. Que a pessoa nova seja produtiva em vinte minutos em vez de dois dias é uma diferença real.
Integração contínua. Cada execução parte de um ambiente limpo e reproduzível, sem que se acumule estado entre as execuções.
Os três casos onde é peso morto
Vale ser honesto aqui, porque é o que quase nunca se diz.
Uma aplicação simples em um servidor pequeno. Se você tem um app de Node em um VPS, colocá-lo em um contêiner adiciona peças: o daemon, as imagens, os volumes, a rede interna. E soma consumo de memória em uma máquina onde a memória importa.
Sites estáticos. Um site compilado são arquivos. O nginx os serve diretamente, mais rápido e sem nada no meio.
Quando ninguém na equipe sabe Docker. Uma camada que apenas uma pessoa entende é uma camada frágil. No dia em que essa pessoa não está, o deploy se torna um mistério.
E um quarto, mais sutil: se o que você queria era isolamento, um contêiner não é o que você busca. Ele compartilha o kernel. Para isolar de verdade é preciso uma máquina virtual.
Os quatro erros que doem
Usar a tag latest. Se sua imagem base é "node:latest", a próxima construção pode trazer outra versão maior e quebrar tudo. E adeus reprodutibilidade, que era o ponto inteiro. Fixe versões.
Guardar dados dentro do contêiner. O contêiner é descartável. Se seu banco de dados escreve dentro, ao recriá-lo se perde. Para isso existem os volumes.
Meter segredos na imagem. Tudo o que entra em uma camada fica na imagem, mesmo que você apague em outra camada. Qualquer um que baixar essa imagem pode recuperá-lo. Os segredos vão como variáveis em tempo de execução.
Correr como root dentro. Es el comportamiento por defecto y no es obligatorio. Una instrucción USER en el Dockerfile reduce bastante el daño posible de una vulnerabilidade.
A regra curta
Docker é uma ferramenta de empacotamento, não um muro de segurança.
Se o problema que você tem é "preciso que isso rode igual em todos os lugares", é excelente. Se o problema é "preciso que isso não possa tocar aquilo", você precisa de outra coisa.
No ArduMaker, o Docker é instalado no seu VPS com um clique e você gerencia contêineres, logs, imagens, volumes e redes a partir do painel. O isolamento forte já vem do VPS; os contêineres dentro resolvem o empacotamento.

