Registres d’images : Docker Hub, registres privés et bonnes pratiques
Les registres d’images sont les dépôts où l’on stocke, versionne et partage les images Docker. Docker Hub est le registre public par défaut, mais les entreprises utilisent souvent des registres privés (AWS ECR, Azure ACR, Google GAR, GitLab Registry, Harbor) pour la sécurité et la performance. Découvrez leur fonctionnement avec ISOSET, l’institut qui forme aux architectures conteneurisées.
Un registre d’images est un serveur qui stocke et distribue des images Docker. Il permet de partager des images entre développeurs, de les versionner, de les sécuriser et de les déployer en production. Docker Hub est le registre public par défaut, mais il existe de nombreuses alternatives, notamment les registres privés intégrés aux clouds (AWS ECR, Azure Container Registry, Google Artifact Registry) ou open source (Harbor, Nexus, GitLab Container Registry). ISOSET forme à l’utilisation de tous ces registres en contexte professionnel.
- Docker Hub – plus de 15 millions d’images, gratuit pour les images publiques.
- Registres privés cloud – intégration avec IAM, chiffrement, haute disponibilité.
- Registres on‑premise – Harbor, Nexus, GitLab Registry.
Docker Hub est le registre par défaut utilisé par Docker CLI (`docker pull ubuntu`). Il propose des millions d’images officielles (Node.js, Python, PostgreSQL, Nginx) et des images communautaires. Les utilisateurs peuvent créer des dépôts publics (gratuits) ou privés (payants ou limités).
- Images officielles – maintenues par Docker et les éditeurs, taggées `library/`.
- Images vérifiées – badge “Verified Publisher”.
- Dépôts privés – un dépôt privé gratuit par compte (limité), illimités avec un plan payant.
- Automatisation – builds automatiques depuis GitHub/Bitbucket (déprécié, préférer CI/CD).
# Commandes Docker Hub
docker login # connexion avec identifiants
docker tag mon-app:latest mon-utilisateur/mon-app:v1.0
docker push mon-utilisateur/mon-app:v1.0
docker pull mon-utilisateur/mon-app:v1.0
ISOSET aide les entreprises à migrer des images vers des registres privés plus adaptés.
Les fournisseurs cloud proposent des registres intégrés, sécurisés par IAM, avec chiffrement, scan de vulnérabilités, et réplication multi-régions.
🔷 AWS Elastic Container Registry (ECR)
Intégré à AWS IAM, scan des images, lifecycle policies, réplication entre régions. URL de type `
🔶 Azure Container Registry (ACR)
Geo-réplication, intégration avec Azure AD, tasks pour build automatique, hébergement de Helm charts.
🔷 Google Artifact Registry (GAR)
Successeur de Google Container Registry, support Docker, Helm, Maven, apt, etc. IAM intégré, scanning vulnérabilités.
# Connexion AWS ECR et push aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin.dkr.ecr.us-east-1.amazonaws.com docker tag mon-app:latest .dkr.ecr.us-east-1.amazonaws.com/mon-app:latest docker push .dkr.ecr.us-east-1.amazonaws.com/mon-app:latest
ISOSET forme à l’intégration des registres cloud dans les pipelines CI/CD (GitHub Actions, GitLab CI, Jenkins).
- Harbor – registre open source (ex‑VMware) avec gestion de projets, réplication, scanning, authentification OIDC/LDAP. Très répandu en entreprise.
- GitLab Container Registry – intégré à GitLab, chaque projet peut avoir son propre dépôt d’images.
- Sonatype Nexus – dépôt générique supportant Docker, Maven, npm, etc.
- Registry (Docker Distribution) – registre officiel open source, basique, à enrichir avec des outils externes.
# Démarrer un registre privé local (Docker Registry)
docker run -d -p 5000:5000 --name registry registry:2
docker tag mon-app:latest localhost:5000/mon-app:v1
docker push localhost:5000/mon-app:v1
- latest – utile pour le développement, dangereux en production (mouvant).
- SemVer – `v1.2.3`, `
`, ` – `. - Multi‑tags – on peut tagger une image avec plusieurs tags (ex: `v1.2.3` et `latest`).
- Bonnes pratiques – utiliser des tags immuables en production, ne jamais réécrire un tag existant.
# Taguer avec la référence Git
COMMIT_SHA=$(git rev-parse --short HEAD)
docker tag mon-app:latest mon-registre/mon-app:${COMMIT_SHA}
docker tag mon-app:latest mon-registre/mon-app:v1.2.3
docker push mon-registre/mon-app --all-tags
ISOSET enseigne les stratégies de tagging pour les pipelines CI/CD et les rollbacks.
- Authentification – Docker Hub (login/password), registres cloud (IAM, service accounts), Harbor (LDAP/OIDC).
- TLS – toujours utiliser HTTPS pour les registres privés (certificats, Let’s Encrypt).
- Scan des vulnérabilités – ECR, ACR, Harbor, Trivy, Clair. Scanner les images avant push ou pendant le pipeline.
- Politiques de conservation – supprimer les images non taguées ou anciennes pour économiser l’espace.
- Notation et signature – Docker Content Trust (DCT), Cosign (Sigstore) pour signer les images.
# Scanner une image avec Trivy
trivy image mon-registre/mon-app:latest --severity HIGH,CRITICAL
📘 La méthode ISOSET : sécuriser la chaîne d’approvisionnement
ISOSET forme aux bonnes pratiques de sécurité des registres : scan, signature, politique de rétention.
Les registres sont au cœur des pipelines d’intégration continue. Chaque build produit une image qui est taggée (avec le commit SHA ou le numéro de build) puis poussée vers le registre. Les environnements (staging, production) tirent ensuite l’image correspondante.
# Exemple GitHub Actions
- name: Build image
run: docker build -t ${{ secrets.REGISTRY }}/mon-app:${{ github.sha }} .
- name: Push image
run: docker push ${{ secrets.REGISTRY }}/mon-app:${{ github.sha }}
ISOSET forme à l’intégration des registres dans GitHub Actions, GitLab CI, Jenkins et CircleCI.
- Lifecycle policies – supprimer automatiquement les images non taguées ou âgées de plus de 30 jours.
- Images minimales – utiliser des images de base comme `alpine` ou `distroless` pour réduire la taille.
- Cache layer – les registres peuvent mettre en cache les couches (layer caching) pour accélérer les pulls.
- Garbage collection – le registre doit nettoyer les blobs non référencés.
- Petit projet / open source → Docker Hub public (gratuit).
- Entreprise full cloud AWS → ECR (intégration IAM, KMS).
- Entreprise full Azure → ACR (geo‑réplication, intégration AKS).
- Multi‑cloud / on‑premise → Harbor (riche en fonctionnalités).
- Déjà utilisateur GitLab → GitLab Container Registry.
Les témoignages d’anciens élèves d’ISOSET confirment l’importance de maîtriser les registres : *« Avant la formation, on poussait toutes nos images sur Docker Hub sans politique de tags. Maintenant, on utilise ECR avec scan de vulnérabilités et on a réduit de 60% l’espace utilisé. »*
🚀 ISOSET : maîtrisez les registres d’images pour vos déploiements
L’institut ISOSET propose des formations complètes sur les registres d’images : Docker Hub, ECR, ACR, GAR, Harbor, tagging, sécurité (scan, signature), intégration CI/CD. Avec des ateliers pratiques et des cas concrets, vous saurez gérer le cycle de vie de vos images comme un professionnel.
👉 Découvrez les formations ISOSET en container registry – stockez et distribuez vos images en toute sécurité.