DOCKER - 4 2 Docker Hub

Docker Hub (https://hub.docker.com) est le registre public officiel de Docker, comparable au gestionnaire de paquets APT pour Linux. C'est un service cloud gratuit qui héberge des millions d'images de conteneurs. Lorsque vous exécutez docker pull nginx, Docker télécharge automatiquement l'image depuis Docker Hub si elle n'existe pas en local.

Images officielles et recherche

Docker Hub propose des images officielles pour les technologies populaires (Nginx, PostgreSQL, Python, Node.js, etc.). Ces images sont maintenues par Docker et les équipes officielles des projets respectifs, garantissant une qualité, une sécurité et une documentation complète. Les images officielles se distinguent par l'absence de barre oblique dans leur nom (ex : nginx au lieu de username/nginx). Les autres images doivent être préfixées par un compte utilisateur ou une organisation.

Pour chercher une image, visitez hub.docker.com ou utilisez la CLI : docker search nginx. Vous obtiendrez une liste avec de nombreux résultats. Évaluez la qualité en observant le nombre de téléchargements et d'étoiles. Inspectez toujours le Dockerfile sur GitHub avant de l'utiliser pour comprendre comment l'image a été construite.

Tags, versions et Alpine

Les images Docker utilisent des tags pour indiquer leurs versions. Une même image peut avoir plusieurs tags pointant vers le même identifiant. Par exemple, nginx:latest, nginx:1.25 et nginx:1.25.1 peuvent tous référencer la même image. Alpine est une distribution Linux très légère qui produit des images beaucoup plus petites (environ 20-30 Mo contre 140+ Mo pour une variante standard). Pour une utilisation en production, toujours spécifier la version exacte plutôt que :latest pour contrôler mieux les mises à jour.

Se connecter et partager : Créez un compte sur Docker Hub, puis authentifiez-vous en local : docker login. Vous pouvez ensuite tagger et pusher vos images personnelles vers votre namespace personnel, les rendant accessibles au monde entier ou à des collaborateurs via des repositories privés.

En résumé

Cette leçon introduit Docker Hub, la plateforme centrale pour découvrir et télécharger des images Docker. Elle explique comment identifier les images officielles (reconnaissables par l'absence de slash dans le nom), qui sont maintenues par l'équipe Docker avec une documentation et un support de qualité supérieure. La leçon couvre également l'importance de spécifier des versions précises dans un environnement de production plutôt que de se fier au tag « latest », et introduit les différentes variantes d'images comme Alpine.

Points clés

  • Les images officielles Docker Hub sont facilement identifiables : elles ne contiennent pas de slash dans leur nom (ex: nginx, contrairement à username/nginx)
  • Les images officielles sont maintenues par l'équipe Docker, bien documentées, testées et respectent les meilleures pratiques ; elles constituent un excellent point de départ pour tout conteneur
  • Le tag « latest » récupère la version la plus récente, mais en production il est préférable de spécifier une version exacte (ex: 1.21.6) pour mieux contrôler les mises à jour
  • Les images officielles proposent plusieurs versions et variantes (mainline, stable, alpine) adaptées à différents besoins et tailles
  • Docker Hub offre des recherches puissantes mais peut retourner de nombreux résultats ; commencer par les images officielles simplifie le choix

Questions fréquentes

Comment reconnaître une image officielle sur Docker Hub ?

Une image officielle n'a pas de slash dans son nom (par exemple : nginx, mysql). Les autres images ont le format username/imagename ou organization/imagename. Les images officielles sont marquées comme telles et bénéficient d'une documentation et d'un support améliorés.

Faut-il utiliser le tag « latest » en production ?

Non, la meilleure pratique est de spécifier une version exacte (exemple : nginx:1.21.6) en production pour garantir un contrôle total des mises à jour logicielles. Le tag « latest » est pratique en développement local, mais risque de créer des incohérences en production.

Qu'est-ce qu'une image Alpine et pourquoi la choisir ?

Alpine est une distribution Linux minimaliste (visible dans les variantes d'images officielles). Elle produit des images Docker plus légères et optimisées pour la taille, ce qui est avantageux pour le déploiement et la performance des conteneurs.