Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
Commit 604e55f6 authored by Christophe Chaudier's avatar Christophe Chaudier :rocket:
Browse files

blog: Les limites du Docker Hub

parent 783f74e9
No related branches found
No related tags found
1 merge request!91Resolve "blog: Les limites du Docker Hub En Solo"
---
title: "🐳 Les limites du Docker Hub | En Solo"
meta-title: "Comment contourner les limites du Docker Hub dans ton pipeline GitLab CI/CD"
description: "Découvre comment les nouvelles limites du Docker Hub peuvent bloquer tes pipelines CI/CD et comment les contourner facilement grâce à GitLab et d'autres alternatives."
date: "2025-04-03"
authors: "cchaudier"
slug: "les-limites-du-docker-hub-en-solo"
image: "2025/YT-les-limites-du-docker-hub-en-solo-740.png"
tags:
- "Devops"
- "Podcast"
- "Radio DevOps"
- "Syndicalisme"
- "Lydra"
sites: ["lydra.fr","compagnons-devops.fr"]
---
## Tu galères avec les images Docker dans ton pipeline GitLab CI ?
Depuis le 1er avril 2025, Docker a serré la vis. Résultat : ton pipeline GitLab CI ne fonctionne plus ? T'as des erreurs au pull d'images ?
Pas de panique, je t'explique clairement ce qui se passe, pourquoi ton intégration continue est en PLS, et surtout, comment t’en sortir avec GitLab CI, Docker Hub, et quelques astuces bien senties.
<!-- truncate -->
J'ai fait un podcast vidéo pour démystifier tout ça.
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/buaf2CfsRyE?si=d7Fhja8ojKezjiLv" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
## Pourquoi le Docker Hub est devenu un goulot d’étranglement
Tu l’as peut-être déjà ressenti : des images Docker qui ne se téléchargent plus, des jobs qui plantent, un PO en panique… et ton pipeline CI/CD à l’arrêt.
Depuis le 1er avril 2025, Docker a mis en place de **nouvelles limitations sur les téléchargements** :
- **10 images/heure** pour les utilisateurs *anonymes*
- **100 images/heure** pour les comptes *gratuits authentifiés*
- Illimité pour les *comptes payants*
Ces limites ne sont pas nouvelles, mais elles ont été **renforcées**, et aujourd’hui, elles peuvent paralyser ton workflow.
:::info
[👕 DevOps addict ? 🔥 Montre-le avec swag !](https://bref.lydra.fr/cddgoodies)
:::
## GitLab CI + Docker Hub : comment reprendre la main
### 1. Crée un compte Docker et configure ton CLI
Première étape évidente, mais trop souvent oubliée : **authentifie-toi**. Créer un compte Docker, même gratuit, te fait passer de 10 à 100 téléchargements par heure.
Fais-le sur ton laptop, mais aussi dans ton intégration continue.
### 2. Utilise un compte authentifié dans tes pipelines GitLab
Dans tes pipelines CI/CD, tu dois injecter tes identifiants Docker de manière sécurisée. Crée des **variables CI/CD** dans l’interface GitLab (jamais dans `.gitlab-ci.yml`)
Simple, rapide, et ça évite les surprises.
### 3. Configure tes GitLab Runners pour une authentification globale
Si tu héberges tes propres runners, c’est encore mieux. Tu peux **pré-configurer l'authentification au niveau du runner pour éviter les limitations à la source.
Un seul login, des images partout.
### 4. Active le proxy de dépendance GitLab
C’est la **meilleure astuce**, pourtant si méconnue.
GitLab propose un **proxy de dépendance Docker** :
- GitLab télécharge une seule fois l’image depuis Docker Hub.
- Puis il la met en cache pour tous tes jobs du projet ou du groupe.
- Plus rapide, plus fiable, et sans te faire blacklister.
[Documentation officielle du proxy GitLab Container Registry](https://docs.gitlab.com/ee/user/packages/container_registry/#dependency-proxy)
:::info
[⚡ Propulse ta maîtrise de GitLab à la vitesse supérieure !](https://bref.lydra.fr/academie-froggit)
:::
### 5. Héberge tes propres images Docker dans GitLab
Une autre stratégie gagnante : **héberger toi-même tes images critiques**.
- Crée un projet dédié à ton registre Docker privé.
- Utilise ensuite ces images dans tes jobs CI.
Automatisable avec un petit pipeline, pour du pull régulier → push GitLab.
### 6. Utilise des registres tiers (ou héberge le tien)
Si tu veux te libérer complètement de Docker Hub :
- **[Google Artifact Registry](https://cloud.google.com/artifact-registry/docs/overview?hl=fr)** (utilisé en miroir par GitLab.com)
- **[Harbor](https://goharbor.io/)**, pour du on-prem
- Ou tout autre registre Docker compatible
Tu gagnes en contrôle, en rapidité et en résilience.
### 7. Met en place un miroir d’images Docker
Le niveau expert 👇
Tu peux automatiser un *pipeline GitLab* pour :
- Cloner les images importantes.
- Les tagguer.
- Les stocker dans ton registre de conteneurs GitLab.
En cas d’embargo, d’erreur réseau ou de disparition de repo, tu es couvert. Et tu peux même **scanner tes images automatiquement** via GitLab ou Trivy.
## 💡 Quelle stratégie adopter (et dans quel ordre) ?
Voici un plan d’action clair, que je recommande :
1. **Crée un compte Docker et connecte-toi** partout où tu le peux
2. **Authentifie tes runners et pipelines**
3. **Active le proxy GitLab** pour accélérer et économiser les pulls
4. **Stocke localement les images critiques**
5. **Automatise les push dans ton GitLab Container Registry**
6. **Passe à un registre tiers si besoin**
7. **Crée un miroir interne avec Dockerfiles en backup**
## 🔗 Ressources complémentaires
- [Le post LinkedIn d'Olivier qui m'a alerté](https://www.linkedin.com/posts/oduval_docker-devops-gitlab-activity-7310369335615606784-XsfT)
- [Article de Docker sur les nouvelles limitations](https://www.docker.com/blog/revisiting-docker-hub-policies-prioritizing-developer-experience)
- [Les limites du Docker Hub](https://docs.docker.com/docker-hub/usage/pulls)
- [L'article de blog de Docker pour les limites en 2020](https://web.archive.org/web/20201028192220/https://www.docker.com/blog/docker-hub-image-retention-policy-delayed-and-subscription-updates/)
- [La page de pricing Docker en 2020](https://web.archive.org/web/20200825052448/https://hub.docker.com/pricing)
- [L'article de GitLab qui propose des solutions](https://about.gitlab.com/blog/2025/03/24/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd)
- [Article de Stéphane Robert](https://blog.stephane-robert.info/post/gitlab-docker-rate-limit)
- [Documentation GitLab Proxy de dépendance de conteneurs](https://docs.gitlab.com/user/packages/dependency_proxy)
- [Registry cache de Google](https://cloud.google.com/artifact-registry/docs/pull-cached-dockerhub-images?hl=fr)
:::info
- [Regarde ma vidéo tuto YouTube où je te montre comment faire](https://youtu.be/dobmI-9uHDo?si=7B7NyDE-FI3qDmRX)
:::
## Pour aller plus loin
Tu galères encore avec GitLab CI ?
Tu veux comprendre comment optimiser tes jobs, tes runners ou tes registres ?
👉 Je prépare une **communauté Git & GitLab** pour aller plus loin.
Inscris-toi et reçois mes anti-sèches, des astuces en exclu, et un accès aux prochains lives.
:::info
[🦊 Rejoins la communauté git et GitLab](https://bref.lydra.fr/frg-cdd-commu)
:::
## Questions fréquentes
### Est-ce que les comptes payants Docker valent le coup ?
Oui, si tu veux éviter les galères de limitation sans trop te prendre la tête, c’est la solution la plus simple à court terme.
### Le proxy GitLab fonctionne-t-il sur les GitLab auto-hébergés ?
Oui ! C’est même là qu’il est le plus utile, surtout si tes runners sont proches du serveur GitLab.
### Peut-on utiliser plusieurs comptes Docker ?
Oui, tu peux gérer un compte par projet, ou mutualiser un compte payant pour plusieurs projets avec prudence.
## À retenir
- Les limitations Docker Hub peuvent **casser ton intégration continue**.
- GitLab CI propose plusieurs **solutions simples et efficaces**.
- Pense à la **sécurité** de tes identifiants.
- Investis dans des **solutions durables** : proxy, registre GitLab, miroir d’images.
- Et surtout : **automatise tout ce que tu peux** !
Merci d’avoir lu jusqu’au bout 🙏
:::info
[▶️ Si cet article t’a aidé, n’oublie pas de : liker, partager et commenter la vidéo YouTube associée !](https://youtu.be/buaf2CfsRyE?si=4Ogd2UfmcN2fPSSJ)
:::
À très vite pour un nouvel épisode de Radio DevOps 🎙️
<CddSoutenir/>
<Contenus/>
<RdoEmissions/>
---
## Crédits
- Christophe Chaudier : consultant indépendant au sein du collectif Lydra. Animateur du podcast de la communauté des Compagnons du DevOps. professeur vacataire à Télécom Saint-Étienne et au CFAI Loire. Découvre le : https://lydra.fr/ea-3-le-podcasteur-christophe | LinkedIn : https://www.linkedin.com/in/cchaudier | Froggit : https://froggit.fr/
### Habillage sonore
- L’intro et la fin sont de Baptiste Gaillet : FullStack développeur avec une tendance DevOps au Centre Scientifique et Technique du Bâtiment, Fondateur et développeur de l’application BedFoodCoffee pour aider les personnes en difficultés. Après des études dans le son et différents métiers, il a effectué une reconversion professionnelle en 2015 pour devenir développeur (Formation diplômante dans le cadre d’un CIF). LinkedIn : https://www.linkedin.com/in/baptiste-gaillet-223832b4 | Twitter : https://twitter.com/bat79a
- La musique d’intro est “Tupac Lives” de John Bartmann : https://pixabay.com/fr/music
- La musique de fin est “Passport” de Purple planet : https://www.purple-planet.com/passport
### Habillage graphique
- Image de Freepik https://www.freepik.com/free-photo/high-view-morning-air-radio-stream-coffee_10357388.htm
<Licence/>
---
<ProdLydra/>
blog/images/2025/YT-les-limites-du-docker-hub-en-solo-740.png

380 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment