Omnikit
DevFichiersFinancesTous les outils
Ctrl K
Outils pour développeursOutils pour fichiersCalculateurs financiersTous les outils
AccueilOutils pour développeursLinter de Dockerfile
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Linter de Dockerfile

dev

Vérifiez un Dockerfile avec 55 règles hadolint : versions figées, utilisateur root, cache et plus

Fonctionne dans votre navigateur. Rien de ce que vous saisissez n'est envoyé nulle part. Vérifié le 16 octobre 2026.

Un linter de Dockerfile lit le fichier sans le construire et signale les lignes risquées ou coûteuses. Celui-ci applique 55 des règles DL de hadolint, comme DL3008 pour les paquets apt-get sans version figée et DL3002 pour l'exécution en root, et donne pour chaque constat sa ligne, son niveau et sa correction. Il fonctionne dans votre navigateur, sans installation et sans Docker.

Cette page a été traduite automatiquement à partir de l'original anglais. Aucune personne n’a encore relu la traduction : c’est la version anglaise qui fait foi. Lire l'original en anglais

Ensuite :
  • Validateur de fichier .env Vérifier un fichier .env ligne par ligne comme dotenv le lit, et le convertir en JSON ou YAML
  • systemd OnCalendar Tester Check a systemd timer OnCalendar= value and see its next run times, or convert cron

Comment vérifier un Dockerfile en ligne

1

Collez le Dockerfile dans la zone, ouvrez le fichier ou cliquez sur Essayer un exemple.

2

Lisez les constats, triés par ligne : chacun a un niveau, son code hadolint, ce qui ne va pas et comment le corriger.

3

Cliquez sur un constat pour aller à sa ligne, corrigez-le et voyez la liste se mettre à jour pendant la saisie.

4

Cliquez sur Copier le rapport pour emporter les constats en texte, pour une pull request ou un ticket.

À propos du linter de Dockerfile

Un Dockerfile peut se construire aujourd'hui et échouer le mois prochain : une image de base sans version figée évolue, un apt-get install récupère une nouvelle version, un cache laissé dans une couche alourdit l'image de centaines de mégaoctets. Un linter repère cela avant la mise en production. hadolint est la référence dans les pipelines CI ; cette page applique ses règles Dockerfile dans votre navigateur.

Ce qui est vérifié. Chaque constat indique sa ligne, son code hadolint, un niveau et une correction en une ligne. Les règles se répartissent en cinq groupes :

Groupe Exemples
Builds reproductibles DL3006 image sans tag, DL3007 latest, DL3008 apt-get, DL3013 pip, DL3016 npm, DL3018 apk
Images plus légères DL3009 listes apt, DL3015 recommends, DL3019 cache apk, DL3042 cache pip, DL3059 couches RUN superflues
Sécurité DL3002 utilisateur root, DL3004 sudo, DL4006 pipefail
Exactitude DL3011 plage de ports, DL3021 cible de COPY, DL3022 et DL3023 noms d'étape, DL3044 ENV, DL3061 ordre
Intention claire DL3000 WORKDIR, DL3003 cd, DL3020 ADD, DL3025 CMD en JSON, DL4000 MAINTAINER

À quel point il suit hadolint. Les règles ont été écrites à partir du code source de hadolint 2.12, et les tests reprennent les réponses du vrai programme hadolint pour plus de 80 Dockerfiles : les mêmes codes aux mêmes lignes, à chaque fois. Les builds multi-étapes, ONBUILD, les lignes de continuation, la directive escape et les commentaires # hadolint ignore= en ligne se comportent comme dans hadolint. Les avertissements SC de ShellCheck sur le code shell des lignes RUN ne sont pas inclus.

Désactiver une règle. Placez # hadolint ignore=DL3008 sur la ligne précédant une instruction pour ignorer cette règle à cet endroit, ou # hadolint global ignore=DL3059 n'importe où pour l'ignorer dans tout le fichier. Le résumé indique combien de constats ont été désactivés.

Tout fonctionne dans votre navigateur : le Dockerfile que vous collez ou ouvrez n'est jamais envoyé.

Questions fréquentes

Que signifie DL3008 dans hadolint ?

DL3008 indique qu'une ligne apt-get install nomme des paquets sans version, si bien que chaque build peut installer autre chose. Écrivez paquet=version, comme curl=7.88.1-10+deb12u5, et trouvez la version actuelle avec apt-cache policy curl dans l'image de base. Figer les versions rend l'image reproductible ; mettez-les à jour volontairement, pas par accident.

Pourquoi le dernier USER ne doit-il pas être root ?

Un conteneur exécuté en root dispose des droits root à l'intérieur : un attaquant qui pénètre l'application peut donc faire davantage, et une erreur dans un volume monté peut modifier des fichiers de l'hôte. Créez un utilisateur dans un RUN, comme useradd app, et terminez l'étape par USER app. Les étapes de build précédentes peuvent toujours s'exécuter en root.

Pourquoi supprimer /var/lib/apt/lists dans le même RUN ?

Chaque RUN crée une couche, et un fichier supprimé dans une couche ultérieure occupe toujours de la place dans la précédente. apt-get update télécharge des listes de paquets de plusieurs dizaines de mégaoctets : supprimez-les donc dans le même RUN avec && rm -rf /var/lib/apt/lists/*. Les supprimer dans un RUN séparé ne fait rien gagner.

Comment ignorer une règle hadolint pour une seule ligne ?

Écrivez un commentaire juste au-dessus de l'instruction : # hadolint ignore=DL3008, ou plusieurs codes séparés par des virgules. Pour désactiver une règle dans tout le fichier, écrivez # hadolint global ignore=DL3059 n'importe où. Les deux fonctionnent dans hadolint et sur cette page, et le résumé compte ce qui a été désactivé.

Est-ce la même chose qu'exécuter hadolint ?

Pour les règles Dockerfile, oui : les 55 codes DL, leurs niveaux et leurs conditions suivent hadolint 2.12, et les tests comparent avec le vrai programme hadolint sur plus de 80 fichiers. Ne sont pas inclus les avertissements SC de ShellCheck sur le code shell des lignes RUN, ni les règles qui exigent un fichier de configuration, comme les registres autorisés.

Faut-il utiliser COPY ou ADD dans un Dockerfile ?

Utilisez COPY pour les fichiers et les dossiers. ADD télécharge aussi des URL et décompresse les archives tar locales, ce qui est utile quand vous voulez exactement cela et surprenant sinon. hadolint signale ADD pour un simple fichier comme DL3020, et un COPY suivi d'un tar -x de la même archive comme DL3010, là où ADD le ferait en une étape.

Sources

  • hadolint, the Haskell Dockerfile Linter (GitHub, v2.12.0)The DL rules, their levels and their exact conditions; the binary is the reference the tests compare against
  • Docker Docs, Dockerfile referenceInstruction syntax, continuation lines, the escape directive, exec and shell form
  • Docker Docs, Building best practicesPinning base images, apt-get cleanup in the same RUN, COPY over ADD, unprivileged USER

Dernière vérification le 16 octobre 2026.

Les taux et les règles changent ; vérifiez la source avant de vous fier à un chiffre.

Toujours bloqué ? Poser une question sur Linter de Dockerfile et toute personne qui connaît la réponse peut répondre. Aucun compte nécessaire.

Outils associés

Tous les outils pour développeurs
Testeur d'expressions régulièresTestez des expressions régulières JavaScript avec surlignage en direct et une explication en langage clairComparateur de textesComparez deux textes côte à côte et voyez chaque ligne ajoutée et suppriméeComparer du JSONComparez deux documents JSON et listez chaque valeur ajoutée, supprimée et modifiéeAperçu Open GraphCollez une page et voyez la carte de partage pour Facebook, LinkedIn, X, WhatsApp et SlackDensité de mots-clés et lisibilitéNombre de mots et d’expressions, densités, temps de lecture et score de lisibilité FleschCodes de statut HTTPTous les codes de statut HTTP, leur sens, quand les envoyer et la RFC dont ils viennentAnalyseur de user agentLisez une chaîne user-agent : navigateur, moteur, système, type d'appareil et présence d'un botTesteur JSONPathExécutez des requêtes JSONPath RFC 9535 sur du JSON collé et voyez chaque correspondance surlignée
Cet outil vous a-t-il été utile ?
Omnikit

Les petites tâches, faites dans votre navigateur. Gratuit, rapide et privé. Les fichiers ne sont jamais envoyés.

Fichiers

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Dev

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Finances

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
GuidesQuestionsÀ proposNos vérificationsBibliothèque juridique (bêta)ConfidentialitéConditionsTransparenceContactMore: Exam practice (UGC NET Paper 1)Fonctionne dans votre navigateur. Rien n'est envoyé. © 2026 Omnikit (theomnikit.com)