
Table des matières
Avant, je passais beaucoup de temps à dépanner de grandes images Docker, à attendre la fin des builds et à m’inquiéter du gaspillage de stockage. J’avais l’impression que peu importe le soin avec lequel je structurais mes fichiers Docker, les images finissaient toujours par être plus lourdes que nécessaire. Tout a changé lorsque j’ai découvert SlimToolkit (anciennement DockerSlim).
Cet outil analyse une image Docker, identifie les fichiers et dépendances réellement nécessaires au moment de l’exécution et supprime tout le reste. Suivez ce guide pour voir comment fonctionne SlimToolkit et les étapes que j’ai utilisées pour réduire mes images Docker sans rien casser.
SlimToolkit simplifie l’optimisation des images Docker
Boîte à outils Slim est un outil open source qui réduit la taille de l’image Docker sans nécessiter de modifications du code de l’application ou des fichiers Docker. Cela supprime le besoin d’étapes d’optimisation manuelles, telles que le nettoyage des packages ou la réécriture des étapes de construction. Au lieu de cela, SlimToolkit gère automatiquement l’optimisation des images et simplifie le processus.
Lorsque vous exécutez SlimToolkit sur une image Docker, il effectue une analyse dynamique en observant le fonctionnement du conteneur. Il suit exactement les fichiers, bibliothèques et dépendances touchés par l’application pendant l’exécution. Sur la base de ces données, il crée une nouvelle image optimisée contenant uniquement les composants requis. Il conserve l’image originale inchangée, ce qui rend le processus sûr et facile à inverser.
SlimToolkit fonctionne avec les images existantes et prend en charge Node.js, Python, Java et Go, sans nécessiter de connaissances avancées sur Docker ou Linux. Il s’intègre parfaitement à la plupart des flux de travail, améliorant la sécurité des conteneurs en supprimant les outils et shells inutilisés que les attaquants pourraient exploiter. Les images plus petites se téléchargent plus rapidement, démarrent plus rapidement et consomment moins de ressources, ce qui constitue un avantage considérable pour les pipelines CI/CD.
Configuration de SlimToolkit
L’utilisation de SlimToolkit via Docker est la méthode la plus simple car elle ne nécessite aucune installation locale. Tant que Docker est installé et exécuté, vous pouvez commencer à utiliser SlimToolkit immédiatement.
Tout d’abord, téléchargez l’image officielle de SlimToolkit à l’aide de la commande docker suivante :
docker pull dslim/slimL’exécution de SlimToolkit nécessite le montage du socket Docker (/var/run/docker.sock). Cela donne au conteneur l’autorisation de communiquer avec votre moteur Docker local pour analyser et optimiser les images. Assurez-vous d’utiliser uniquement des images officielles fiables.
Réduire la taille de l’image Docker avec SlimToolkit
Pour démontrer le processus d’optimisation, nous allons affiner une image Nginx standard. Tout d’abord, extrayez la dernière image officielle de Nginx :
docker pull nginx:latest
Pour les applications standards comme Nginx, vous pouvez exécuter directement la commande build. SlimToolkit vérifie quels fichiers le conteneur utilise réellement et supprime ceux qui sont inutiles.
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock dslim/slim build --target nginx:latest --tag nginx-slim:latest
Certains langages (comme Python ou Ruby) peuvent avoir des dépendances qui ne sont pas déclenchées immédiatement lors d’une sonde standard. Dans ces cas, créez un fichier « ignore.txt » pour indiquer à SlimToolkit quels dossiers conserver, comme « /usr/local/lib/python3.11 ». Cela empêche SlimToolkit de supprimer les dépendances d’exécution essentielles.
Vous pouvez exécuter la commande avec un montage de volume pour inclure vos règles de préservation :
-v "$(pwd)":/target --preserve-path-file /target/ignore.txtComparez la différence de taille : original vs. Image affinée
Une fois le processus terminé, SlimToolkit enregistre l’image optimisée localement. Vous pouvez comparer la différence de taille entre la version originale et la version allégée avec cette commande :
docker imagesVous constaterez probablement une réduction spectaculaire.

Enfin, testez votre nouvelle image optimisée pour vous assurer qu’elle fonctionne comme prévu :
docker run -it -p 8080:80 nginx-slim:latest
Ouvrez votre navigateur et accédez à http://localhost:8080. Vous devriez voir la page d’accueil par défaut de Nginx, mais fonctionnant à partir d’une empreinte de conteneur nettement plus petite.

Autres commandes SlimToolkit utiles
SlimToolkit fournit quelques commandes clés pour vous aider à analyser et optimiser les images Docker. Voici une liste des plus utiles :
| Commande | Description |
|---|---|
| construction mince | Optimise une image Docker en conservant uniquement les fichiers et dépendances nécessaires, réduisant ainsi la taille de l’image. |
| radiographie mince | Analyse une image Docker et affiche ce qu’elle contient, y compris les fichiers, les couches et les dépendances. |
| peluche mince | Vérifie les erreurs dans les Dockerfiles pour éviter les problèmes de construction. |
| débogage mince | Permet de déboguer un conteneur en cours d’exécution créé à partir d’une image Docker allégée. |
| profil mince | Collecte des informations sur une image Docker et génère un rapport JSON pour l’analyse de la taille et des performances. |
| fusion mince | Fusionne deux images Docker en une seule image. |
Vous pouvez également vérifier toutes les commandes SlimToolkit disponibles et leur utilisation à l’aide de la commande suivante.
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock dslim/slim slim help
Limites à garder à l’esprit
Bien que SlimToolkit aide à réduire la taille des images Docker, vous devez prendre en compte quelques inconvénients :
- L’amincissement des grandes images peut prendre plus de temps, alors planifiez en conséquence.
- Étant donné que l’outil utilise l’analyse dynamique, si un chemin de code spécifique n’est pas exécuté pendant le processus de génération, SlimToolkit peut penser qu’une dépendance est inutilisée et la supprimer. Testez toujours minutieusement vos images affinées.
- Il supprime souvent des outils comme bash ou curl pour économiser de l’espace. Si vous en avez besoin pour le dépannage dans un conteneur de production, vous devez explicitement indiquer à SlimToolkit de les conserver.
Conclusion
L’ajout de SlimToolkit à votre flux de travail accélère les déploiements, garantit des performances constantes et minimise la surcharge des conteneurs. Il vous aide à créer des images Docker plus propres et plus professionnelles tout en conservant vos versions d’origine inchangées. De plus, l’adoption des meilleures pratiques de nettoyage Docker permet de maintenir des conteneurs efficaces et bien organisés au fil du temps.
Boîte à outils Slim
Prix : Gratuit
Télécharger





