Qu'est-ce qu'un linter Dockerfile ?
Un linter Dockerfile est un outil d'analyse statique qui examine vos instructions Dockerfile et signale les problèmes potentiels. Il vérifie les erreurs courantes, les vulnérabilités de sécurité (comme l'exécution en tant que root), la syntaxe obsolète, l'empilement inefficace des couches, les contrôles de santé manquants et les balises d'image de base non épinglées. Semblable à des outils comme Hadolint, il fournit des résultats classés par gravité avec des suggestions concrètes pour vous aider à créer des images de conteneurs plus petites, plus sûres et plus maintenables.
Comment utiliser le linter Dockerfile
- 1Collez le contenu de votre Dockerfile dans la zone de texte.
- 2Le linter analyse automatiquement chaque instruction et affiche une liste catégorisée de résultats.
- 3Chaque résultat comprend un numéro de ligne, un niveau de gravité (erreur, avertissement ou information), un ID de règle, une description et une suggestion de correctif.
- 4Examinez les décomptes récapitulatifs en haut, puis corrigez d'abord les erreurs, suivi des avertissements et des conseils d'information.
Cas d'utilisation courants
Audit préalable
Auditez les Dockerfiles avant de les transférer vers un registre de conteneurs pour détecter les problèmes plus tôt.
Meilleures pratiques CI/CD
Appliquez les meilleures pratiques Dockerfile dans les pipelines CI/CD pour maintenir une qualité d’image constante.
Docker d’apprentissage
Découvrez les meilleures pratiques Docker avec des commentaires en temps réel et des suggestions exploitables sur vos propres fichiers Docker.
Révision du code
Examinez les Dockerfiles lors des révisions de code pour détecter les problèmes de sécurité, les opportunités d'optimisation et la syntaxe obsolète.
Questions fréquentes
Quelles règles le linter Dockerfile vérifie-t-il ?
Le linter vérifie plus de 15 règles sur trois niveaux de gravité : erreurs (from manquant, dernière balise, ADD vs COPY, CMD en double), avertissements (indicateurs apt-get, utilisation sudo, MAINTAINER obsolète, HEALTHCHECK/USER manquant, CMD sous forme de shell) et informations (combinaison de couches RUN, .dockerignore, chemins WORKDIR absolus).
Ce linter est-il équivalent à Hadolint ?
Cet outil couvre les règles Hadolint les plus courantes et les plus utiles dans une interface basée sur le navigateur, sans installation. Pour une analyse lint complète dans CI/CD, envisagez d'utiliser Hadolint en complément de cet outil pour des vérifications rapides.
Pourquoi devrais-je épingler la version de mon image de base ?
L'utilisation de 'latest' ou d'une image de base non balisée signifie que vos builds peuvent s'interrompre de manière inattendue lorsque l'image en amont est mise à jour. Épingler une version spécifique (e.g., node:20-alpine) garantit des builds reproductibles et prévisibles.
Pourquoi s'exécuter en tant que root dans un conteneur présente-t-il un risque de sécurité ?
L'exécution en tant que root dans un conteneur augmente la surface d'attaque. Si un attaquant compromet l'application, il dispose des privilèges root au sein du conteneur, ce qui peut rendre les fuites de conteneur plus dangereuses. L'ajout d'une instruction USER atténue ce risque.