Gerador de Dockerfile

Escolha sua stack e receba um Dockerfile pronto para produção: build multi-stage, camada de dependências em cache, usuário não-root, health check e um .dockerignore correspondente — tudo explicado linha por linha.

Atualizado em

    

Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

Como usar: Gerador de Dockerfile

  1. Escolha sua stack — Node.js, Next.js, Python, Go, Java, PHP, Ruby, .NET, Rust ou um site estático.
  2. Defina a versão do runtime, o gerenciador de pacotes, a porta e o comando de inicialização.
  3. Ative ou desative o build multi-stage, o usuário não-root e o health check.
  4. Copie ou baixe o Dockerfile e o .dockerignore e, em seguida, use os comandos de build e run.

O que faz um bom Dockerfile para produção

  • Builds multi-stage — compile em uma imagem completa e copie apenas o resultado para uma imagem de runtime enxuta. Compiladores, dependências de desenvolvimento e código-fonte ficam fora da produção.
  • Cache de camadas — copie o manifesto de dependências (package.json, requirements.txt, go.mod…) e instale antes de copiar o restante do código, assim uma alteração no código não reinstala tudo.
  • Um usuário não-root — se a aplicação for comprometida, o atacante não obtém root dentro do container.
  • Imagens base com versão fixa — use uma versão específica, como node:22-alpine, em vez de latest, para que os builds sejam reproduzíveis.
  • Um .dockerignore — mantém .git, node_modules, arquivos .env locais e a saída do build fora do contexto de build, deixando os builds mais rápidos e seguros.
  • CMD em forma exec — CMD ["node", "server.js"] faz a aplicação receber os sinais de parada e encerrar de forma graciosa.

Para rodar vários containers juntos, use o gerador de Docker Compose, converta comandos existentes com o docker run para Compose e mantenha a cola de comandos Docker aberta enquanto trabalha.

Também pesquisado como: criar dockerfile, template dockerfile, dockerfile node, dockerfile python, dockerfile multi-stage, exemplo de dockerfile, dockerfile nextjs.

Ferramentas que combinam com: Gerador de Dockerfile

  • Gerador de fluxos de trabalho do GitHub Actions — Escolha sua pilha, gatilhos e etapas e receba um arquivo .github/workflows/ci.yml — instalação, cache, verificação de código, teste, compilação, uma matriz de versões e, opcionalmente, implantação no GitHub Pages, Vercel ou em um registro de contêineres.
  • Validador YAML Kubernetes — Cole Deployments, Services, Ingresses, ConfigMaps ou um arquivo inteiro com vários documentos.
  • Validador YAML — Cole um arquivo Docker Compose, manifesto Kubernetes, workflow do GitHub Actions ou qualquer YAML para localizar erros, evitar armadilhas comuns e obter uma versão bem formatada.
  • Gerador de YAML Kubernetes — Preencha o nome, a imagem e a porta do seu app e receba YAML do Kubernetes pronto para produção: um Deployment com probes, limites de recursos e contexto de segurança reforçado, além do Service, do Ingress com TLS, do ConfigMap, do Secret e do HorizontalPodAutoscaler que você marcar, tudo em um arquivo pronto para kubectl apply.

Perguntas frequentes

Alpine ou Debian slim?
As imagens Alpine são as menores, mas usam musl libc, que pode quebrar módulos nativos (algumas wheels do Python, addons do Node). As imagens Debian -slim são um pouco maiores e o padrão mais seguro para Python e qualquer coisa com dependências nativas.
Por que copiar o lockfile separadamente?
O Docker faz cache de cada camada. Se apenas o seu código-fonte mudar, a camada de instalação de dependências é reaproveitada e o build leva segundos em vez de minutos.
O health check precisa do curl?
Imagens slim geralmente não têm curl, então os health checks gerados usam o próprio runtime da linguagem (por exemplo, uma pequena requisição HTTP em Node ou Python) ou o wget, que vem incluído no Alpine.
Posso instalar o Gerador de Dockerfile como um aplicativo da web e usá-lo offline?
Sim. O Gerador de Dockerfile é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

Ferramentas relacionadas