· 2 min read
Docker Hub limitations : sécurisez vos pipelines GitLab CI/CD en 3 étapes
Docker Hub limite les téléchargements d'images de base comme php, alpine, node, etc. Sécurisez vos pipelines GitLab CI/CD en 3 étapes.

Docker limite les téléchargements : sécurisez vos pipelines GitLab CI/CD en 3 étapes
À partir du 1er avril 2025, Docker mettra en place une politique beaucoup plus stricte concernant l’utilisation de son registre public Docker Hub.
🔥 Seulement 10 téléchargements d’images par heure pour les utilisateurs non authentifiés.
Ces restrictions vont impacter directement vos pipelines CI/CD, y compris ceux tournant sur GitLab, en provoquant des erreurs inattendues lors du téléchargement d’images Docker de base comme php
, alpine
, node
, etc.
📉 Ce que Docker change
Voici les nouvelles limites officielles de Docker Hub :
Type d’utilisateur | Limite de pulls | Fenêtre |
---|---|---|
🕵️♂️ Non authentifié | 10 pulls | par heure |
👤 Authentifié (gratuit) | 100 pulls | par heure |
💼 Abonnement Pro/Team | Illimité (fair use) | selon plan |
Chaque pull (téléchargement d’image) depuis Docker Hub dans un pipeline GitLab CI compte dans ce quota.
❗️ Un pipeline à risque
Prenons ce .gitlab-ci.yml
tout simple :
image: php:8.4
stages:
- test
test:
script:
- php -v
Chaque exécution télécharge l’image php:8.4
depuis Docker Hub.
Avec plusieurs exécutions ou jobs, le quota est vite atteint ➜ toomanyrequests
, échec du job.
✅ La solution simple : héberger l’image dans GitLab
La méthode la plus rapide pour se prémunir de ces limitations est de re-publier l’image Docker utilisée dans le GitLab Container Registry de votre projet.
Voici les 3 étapes à suivre :
1. Télécharger l’image une fois
docker pull php:8.4
2. Re-tagger pour votre registry GitLab
docker tag php:8.4 registry.gitlab.com/votre-groupe/votre-projet/php:8.4
3. Pousser l’image dans GitLab
docker push registry.gitlab.com/votre-groupe/votre-projet/php:8.4
🔁 Mise à jour du pipeline GitLab
Utilisez maintenant votre image privée dans .gitlab-ci.yml
:
image: registry.gitlab.com/votre-groupe/votre-projet/php:8.4
stages:
- test
test:
script:
- php -v
✔️ Vous êtes maintenant à l’abri des limitations de Docker Hub.
🛡️ Les autres solutions proposées par GitLab
Dans son article officiel (source GitLab), GitLab recommande également :
- 🧾 Configurer une authentification Docker Hub dans vos runners (avec token)
- 📦 Utiliser des registres privés (AWS ECR, GitLab Registry, etc.)
- 🧰 Optimiser les pulls et la mise en cache des images
- 💡 Utiliser des runners auto-hébergés avec caching local
Mais publier les images dans votre registry GitLab reste la solution la plus simple, stable et rapide à mettre en place, surtout en environnement GitLab SaaS.
🧠 En résumé
Stratégie | Facile ? | Protège des quotas ? |
---|---|---|
Docker Hub (anonyme) | ✅ | ❌ |
Docker Hub (authentifié) | ⚠️ | 🟡 (200 pulls max) |
Registry GitLab (recommandé) | ✅✅ | ✅✅✅ |
📩 Vous utilisez GitLab CI/CD avec PHP ?
Je prépare une ressource complète avec des templates prêts à l’emploi, des bonnes pratiques et des outils pour fiabiliser vos pipelines.
👉 Rejoignez la liste d’attente ici : https://formation.yoandev.co/gitlab-ci-pour-php-solution-cle-en-main-pour-les-equipes-en-entreprise
Loading comments...