Loading…

À propos Formateur Dockerfile en Ligne Gratuit

Dockerfile désordonné ? Indentation cassée, espacement incohérent et chaînes RUN illisibles ? Ce formateur Dockerfile utilise un moteur basé sur dprint (via un backend sécurisé) pour normaliser vos Dockerfiles et Containerfiles avec une mise en page propre et opinionnée. Il conserve vos instructions exactement en place tout en rendant le fichier plus facile à réviser, versionner et automatiser dans tous les environnements.

Fonctionnalités Clés du Formateur Dockerfile

  • Nettoie l'indentation, l'espacement et le retour à la ligne pour les Dockerfiles et Containerfiles
  • Normalise les instructions RUN multi-lignes avec des barres obliques inverses et une indentation cohérentes
  • Respecte la sémantique Dockerfile – pas de réorganisation des instructions, pas de modification de la logique shell
  • Sortie déterministe : même entrée et version ⇒ même Dockerfile formaté
  • Compagnon parfait pour les hooks pre-commit, les monorepos et les jobs CI utilisant dprint
  • Éditeur web avec coloration syntaxique, sortie adaptée aux diffs et actions de copie/téléchargement
  • Fonctionne bien avec les builds multi-étapes, les arguments de build et les images typiques Node/.NET/Go

🛠️ Comment Formater un Dockerfile for dockerfile-formatter

1

1. Collez ou Téléchargez Votre Dockerfile

Collez votre Dockerfile dans l'éditeur ou déposez un Dockerfile/Containerfile de votre projet. De petits extraits (comme un seul bloc FROM/RUN) fonctionnent également si vous souhaitez simplement expérimenter.

2

2. Exécuter le Formateur

Cliquez sur "Formater". L'outil envoie votre source à un backend sécurisé basé sur dprint qui ajuste l'indentation, l'espacement, les instructions de style tableau et les chaînes RUN multilignes sans toucher à la logique d'exécution.

3

3. Vérifier, Copier ou Télécharger

Comparez la sortie formatée avec votre fichier original. Lorsque vous êtes satisfait, copiez le résultat dans votre dépôt ou téléchargez le Dockerfile formaté pour le valider directement.

Détails Techniques

Types de Fichiers Pris en Charge

Le formateur cible les instructions de construction Docker et les fichiers de construction de conteneurs compatibles utilisés avec Docker, Podman et des outils similaires.

TypeExempleNotes
DockerfileDockerfile, Dockerfile.prod, Dockerfile.node18Fichiers de construction Docker classiques pour les images
ContainerfileContainerfileFichiers de configuration de style Podman / Buildah
Extraits en ligneFROM node:18-alpineLes petits fragments ou exemples sont également pris en charge pour des tests rapides

Comportement de Formatage (style dprint)

Comportements de haut niveau du plugin dprint sous-jacent utilisé par cet outil :

DomaineComportementExemple
IndentationNormalise l'indentation pour les lignes continues dans RUN et autres instructionsRUN set -eux; \\n npm ci; \\n npm cache clean --force
Listes & tableauxNettoie l'espacement dans les tableaux de style JSON pour CMD/ENTRYPOINT/HEALTHCHECKCMD ["npm", "start"] → CMD ["npm", "start"] (mais avec des espaces cohérents)
EspacementSupprime les espaces redondants autour des instructions tout en préservant le sensENV NODE_ENV=production
Retour à la lignePeut reformater les longues chaînes RUN pour une meilleure lisibilité sans changer l'ordreLes longs pipelines shell deviennent plus faciles à parcourir et à examiner dans les diffs
CommentairesPréserve les commentaires en ligne et en fin de ligne à côté des instructions# base image for build stage\nFROM node:18 AS build

Objectifs non visés

Ce formateur est délibérément limité à la mise en page, vous permettant de le combiner avec d'autres outils DevOps :

ÉlémentPris en charge ?Notes
Vérification de style HadolintUtilisez hadolint ou des outils similaires pour les vérifications et alertes de bonnes pratiques
Analyse de sécuritéAucune analyse CVE ou de vulnérabilité des images ou registres
Construction d'imagesN'exécute pas docker build ni n'interagit avec Docker Engine
Réorganisation des instructionsNe réorganise jamais les instructions ; seuls l'indentation et les espaces changent
Renforcement de l'image de baseNe recommande pas d'images de base ; il formate ce que vous fournissez

Équivalents CLI & CI

Vous aimez le résultat ? Reproduisez le même comportement localement et en CI avec dprint et des outils complémentaires.

Universel (dprint)

Initialiser dprint et ajouter le plugin Dockerfile

dprint init
# Dans dprint.json, ajoutez :
# {
#   "plugins": ["https://plugins.dprint.dev/dockerfile-0.x.wasm"]
# }
# Puis formatez vos Dockerfiles :
dprint fmt Dockerfile

Correspondance la plus proche avec ce formateur en ligne, pour que développeurs et CI utilisent le même style.

Linux/macOS

Vérifier avec hadolint (complète le formatage)

hadolint Dockerfile

Combinez le formatage (style) avec la vérification (bonnes pratiques, images plus petites, contrôles de santé).

Git / pre-commit

Exécuter dprint sur les Dockerfiles modifiés avant commit

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

Garantit que chaque Dockerfile fusionné dans main est déjà formaté.

Cas d'utilisation courants

Ingénierie Dev & Plateforme

  • Normaliser les Dockerfiles entre les microservices avant la revue de code
  • Nettoyer les Dockerfiles hérités de plusieurs équipes ou modèles
  • Standardiser le style lors de la migration d'images, de versions d'OS de base ou de stratégies de construction
# Dockerfile multi-étapes typique (propre, facile à réviser)
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 CI/CD

  • Échouer les builds lorsque les Dockerfiles ne sont pas correctement formatés
  • Corriger automatiquement le style sur les branches de fonctionnalités via des hooks pre-commit ou des jobs CI
  • Maintenir la configuration Docker lisible dans les monorepos et dépôts de plateforme de longue durée
# Exemple de hook Git pre-commit (pseudo-code)
#!/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

Intégration d'équipe et cohérence

  • Donner aux nouveaux membres de l'équipe un style Dockerfile unique et opinatif à suivre
  • Supprimer les débats sur le style de code des PR : laissez le formateur être la source de vérité
  • Aligner le formatage local, les hooks de dépôt et les jobs CI autour de la même configuration dprint
# Exemple d'extrait pour docs/onboarding.md
1. Installez dprint localement
2. Copiez le dprint.json partagé depuis le dépôt de la plateforme
3. Exécutez `dprint fmt Dockerfile` avant d'ouvrir une pull request

❓ Frequently Asked Questions

Le formatage change-t-il la façon dont mon image se construit ?

Non. Le formateur ne modifie que les espaces, l'indentation et le retour à la ligne. Il préserve l'ordre et le contenu de vos instructions Dockerfile. Tant que votre Dockerfile d'origine était valide, la construction de l'image résultante devrait se comporter de la même manière.

Est-ce la même chose que le linting avec hadolint ?

Non. Cet outil est un formateur, pas un linter. Il corrige les problèmes de style et de mise en page (espacement, indentation, retour à la ligne), mais il ne vous avertira pas des meilleures pratiques (comme l'utilisation d'images de base spécifiques, de healthchecks ou de tailles de couches). Pour cela, combinez-le avec hadolint ou un autre linter Dockerfile.

Puis-je imposer ce style en CI ?

Oui. Vous pouvez configurer dprint avec le plugin Dockerfile dans votre dépôt et exécuter `dprint fmt` (ou `dprint check`) dans votre pipeline CI. Ainsi, la CI peut échouer lorsque les Dockerfiles s'écartent du style attendu, correspondant à ce que vous voyez dans ce formateur en ligne.

Prend-il en charge les builds multi-étapes ?

Oui. Les Dockerfiles multi-étapes sont formatés comme n'importe quel autre fichier. Chaque instruction FROM, COPY, RUN et ENV est préservée, et la mise en page est rendue cohérente entre toutes les étapes sans changer la sémantique de construction.

Mon Dockerfile est-il téléchargé sur un serveur ?

Pour cet outil, le formatage est effectué via un point de terminaison backend sécurisé utilisant un formateur basé sur dprint. Votre source est utilisée pour calculer la réponse et n'est pas destinée à être stockée à long terme. Comme toujours, évitez de coller des détails d'infrastructure hautement confidentiels dans tout outil en ligne, sauf si vous contrôlez la pile complète.

Pro Tips

Best Practice

Exécutez le formatage automatiquement en CI pour que le style des Dockerfiles ne diverge jamais entre les services ou les équipes.

Best Practice

Associez ce formateur à un linter comme hadolint pour couvrir à la fois la mise en page et les conseils de bonnes pratiques.

Best Practice

Convenez d'un modèle standard de Dockerfile multi-étapes tôt dans un projet et maintenez-le formaté pour que les nouveaux services suivent la même structure.

Best Practice

Si vous travaillez dans un monorepo, partagez une seule configuration dprint pour que le code applicatif, le code d'infrastructure et les Dockerfiles utilisent des conventions cohérentes.

Additional Resources

Other Tools