Loading…

Sobre Formatador de Dockerfile Online Gratuito

Dockerfile bagunçado? Indentação quebrada, espaçamento inconsistente e cadeias de RUN ilegíveis? Este Formatador de Dockerfile usa um mecanismo baseado em dprint (através de um backend seguro) para normalizar seus Dockerfiles e Containerfiles com um layout limpo e opinativo. Ele mantém suas instruções exatamente no lugar enquanto torna o arquivo mais fácil de revisar, versionar e automatizar entre ambientes.

Principais Características do Formatador de Dockerfile

  • Limpa indentação, espaçamento e quebra de linha para Dockerfiles e Containerfiles
  • Normaliza instruções RUN multi-linha com barras invertidas e indentação consistentes
  • Respeita a semântica do Dockerfile – sem reordenar instruções, sem alterar lógica de shell
  • Saída determinística: mesma entrada e versão ⇒ mesmo Dockerfile formatado
  • Companheiro perfeito para hooks de pre-commit, monorepos e jobs de CI usando dprint
  • Editor baseado na web com destaque de sintaxe, saída amigável para diff e ações de copiar/baixar
  • Funciona bem com builds multiestágio, argumentos de build e imagens típicas de Node/.NET/Go

🛠️ Como Formatador um Dockerfile for dockerfile-formatter

1

1. Cole ou Carregue Seu Dockerfile

Cole seu Dockerfile no editor ou arraste um Dockerfile/Containerfile do seu projeto. Pequenos trechos (como um único bloco FROM/RUN) também funcionam se você quiser apenas experimentar.

2

2. Executar o Formatador

Clique em "Formatar". A ferramenta envia seu código para um backend seguro baseado em dprint que ajusta indentação, espaçamento, instruções em estilo de array e cadeias RUN multilinha sem tocar na lógica de execução.

3

3. Revisar, Copiar ou Baixar

Compare a saída formatada com seu arquivo original. Quando estiver satisfeito, copie o resultado de volta para seu repositório ou baixe o Dockerfile formatado para commit direto.

Detalhes Técnicos

Tipos de Arquivo Suportados

O formatador visa instruções de build do Docker e arquivos de build de contêiner compatíveis usados no Docker, Podman e ferramentas similares.

TipoExemploNotas
DockerfileDockerfile, Dockerfile.prod, Dockerfile.node18Arquivos clássicos de build do Docker para imagens
ContainerfileContainerfileArquivos de configuração no estilo Podman/Buildah
Trechos inlineFROM node:18-alpineFragmentos pequenos ou exemplos também são suportados para testes rápidos

Comportamento de Formatação (estilo dprint)

Comportamentos de alto nível do plugin dprint subjacente usado por esta ferramenta:

ÁreaComportamentoExemplo
IndentaçãoNormaliza a indentação para linhas continuadas em RUN e outras instruçõesRUN set -eux; \\n npm ci; \\n npm cache clean --force
Listas & arraysLimpa espaçamento em arrays no estilo JSON para CMD/ENTRYPOINT/HEALTHCHECKCMD ["npm", "start"] → CMD ["npm", "start"] (mas com espaços consistentes)
EspaçamentoRemove espaços redundantes ao redor das instruções preservando o significadoENV NODE_ENV=production
Quebra de linhaPode reformatar cadeias RUN longas para legibilidade sem alterar a ordemPipelines longos de shell tornam-se mais fáceis de escanear e revisar em diffs
ComentáriosPreserva comentários de linha completa e inline ao lado das instruções# base image for build stage\nFROM node:18 AS build

Não objetivos

Este formatador é intencionalmente limitado ao layout, para que você possa combiná-lo com outras ferramentas DevOps:

ItemTratado?Notas
Lint ao estilo HadolintUse hadolint ou ferramentas similares para verificações de melhores práticas e avisos
Varredura de segurançaSem varredura de CVE ou vulnerabilidades em imagens ou registros
Construção de imagemNão executa docker build nem interage com o Docker Engine
Reordenação de instruçõesNunca reordena instruções; apenas indentação e espaçamento mudam
Reforço de imagem baseNão recomenda imagens base; formata o que você fornecer

CLI & Equivalentes em CI

Gostou do resultado? Reflita o mesmo comportamento localmente e no CI com dprint e ferramentas complementares.

Universal (dprint)

Inicialize dprint e adicione o plugin Dockerfile

dprint init
# Em dprint.json, adicione:
# {
#   "plugins": ["https://plugins.dprint.dev/dockerfile-0.x.wasm"]
# }
# Então formate seus Dockerfiles:
dprint fmt Dockerfile

Correspondência mais próxima a este formatador online, para que desenvolvedores e CI usem o mesmo estilo.

Linux/macOS

Lint com hadolint (complementa a formatação)

hadolint Dockerfile

Combine formatação (estilo) com linting (melhores práticas, imagens menores, healthchecks).

Git / pre-commit

Execute dprint em Dockerfiles alterados antes do commit

# .pre-commit-config.yaml (conceitual)
- repo: local
  hooks:
    - id: dprint-dockerfile
      name: dprint Dockerfiles
      entry: dprint fmt
      language: system
      files: "(Dockerfile|Containerfile)$"

Garante que todo Dockerfile mesclado no main já esteja formatado.

Casos de Uso Comuns

Engenharia de Dev & Plataforma

  • Normalizar Dockerfiles entre microsserviços antes da revisão de código
  • Limpar Dockerfiles legados herdados de múltiplas equipes ou modelos
  • Padronizar o estilo ao migrar imagens, versões do SO base ou estratégias de build
# Dockerfile multiestágio típico (limpo, amigável para revisão)
FROM node:18 AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci && npm cache clean --force
COPY . .
RUN npm run build

FROM node:18-alpine
WORKDIR /app
COPY --from=build /app/dist ./
CMD ["node", "index.js"]

Pipelines de CI/CD

  • Falhar builds quando Dockerfiles não estão devidamente formatados
  • Corrigir automaticamente o estilo em branches de feature via hooks de pre-commit ou jobs de CI
  • Manter a configuração do Docker legível em monorepos e repositórios de plataforma de longa duração
# Exemplo de hook Git pre-commit (pseudo-código)
#!/bin/sh
changed=$(git diff --cached --name-only --diff-filter=ACM | grep -E 'Dockerfile|Containerfile' || true)
[ -z "$changed" ] && exit 0
dprint fmt $changed
git add $changed

Integração de Equipe & Consistência

  • Oferecer aos novos membros da equipe um único estilo de Dockerfile opinativo para seguir
  • Remover debates de estilo de código dos PRs: deixe o formatador ser a fonte da verdade
  • Alinhar formatação local, hooks de repositório e jobs de CI em torno da mesma configuração dprint
# Exemplo de trecho para docs/onboarding.md
1. Instale o dprint localmente
2. Copie o dprint.json compartilhado do repositório da plataforma
3. Execute `dprint fmt Dockerfile` antes de abrir um pull request

❓ Frequently Asked Questions

A formatação altera como minha imagem é construída?

Não. O formatador apenas mexe em espaços em branco, indentação e quebra de linhas. Ele preserva a ordem e o conteúdo das suas instruções do Dockerfile. Desde que seu Dockerfile original fosse válido, a construção da imagem resultante deve se comportar da mesma forma.

Isso é o mesmo que linting com hadolint?

Não. Esta ferramenta é um formatador, não um linter. Ela corrige problemas de estilo e layout (espaçamento, indentação, quebra de linha), mas não irá alertá-lo sobre melhores práticas (como usar imagens base específicas, healthchecks ou tamanhos de camada). Para isso, combine-a com hadolint ou outro linter de Dockerfile.

Posso impor este estilo no CI?

Sim. Você pode configurar o dprint com o plugin Dockerfile em seu repositório e executar `dprint fmt` (ou `dprint check`) em seu pipeline de CI. Dessa forma, o CI pode falhar quando Dockerfiles se desviam do estilo esperado, correspondendo ao que você vê neste formatador online.

Ele suporta builds multiestágio?

Sim. Dockerfiles multiestágio são formatados como qualquer outro arquivo. Cada instrução FROM, COPY, RUN e ENV é preservada, e o layout é tornado consistente em todos os estágios sem alterar a semântica de build.

Meu Dockerfile é enviado para um servidor?

Para esta ferramenta, a formatação é realizada via um endpoint de backend seguro usando um formatador baseado em dprint. Sua fonte é usada para calcular a resposta e não se destina a ser armazenada a longo prazo. Como sempre, evite colar detalhes de infraestrutura altamente confidenciais em qualquer ferramenta online, a menos que você controle a stack completa.

Pro Tips

Best Practice

Execute a formatação automaticamente no CI para que o estilo do Dockerfile nunca varie entre serviços ou equipes.

Best Practice

Combine este formatador com um linter como hadolint para cobrir tanto o layout quanto as orientações de melhores práticas.

Best Practice

Defina um modelo padrão de Dockerfile multiestágio no início de um projeto e mantenha-o formatado para que novos serviços sigam a mesma estrutura.

Best Practice

Se você trabalha em um monorepo, compartilhe uma única configuração dprint para que o código do aplicativo, código de infraestrutura e Dockerfiles usem convenções consistentes.

Additional Resources

Other Tools