Aller au contenu

Proxy Cache des registres publics

Le registre proxyfie plusieurs registres publics. Concrètement, vous récupérez une image d'un registre public à travers registry.isima.fr, qui la télécharge puis la met en cache.

Quels avantages ?

  • Plus rapide : les images fréquemment utilisées sont servies depuis le cache local, au sein du réseau de l'établissement.
  • Pas de limite de débit : vous contournez les quotas de téléchargement imposés par certains registres publics (notamment les rate limits de Docker Hub).
  • Transparent : aucune configuration particulière, il suffit de préfixer le nom de l'image.

Registres proxyfiés disponibles

Registre public Préfixe à utiliser sur registry.isima.fr
Docker Hub registry.isima.fr/dh/<image>:<tag>
Docker Hardened Images registry.isima.fr/dhi/<image>:<tag>
GitHub Container Registry registry.isima.fr/ghcr/<image>:<tag>
Google Container Registry registry.isima.fr/gcr/<image>:<tag>
Quay registry.isima.fr/quay.io/<image>:<tag>
Linuxserver.io registry.isima.fr/lscr/<image>:<tag>

Récupérer une image via le proxy

Il suffit de préfixer le nom de l'image par registry.isima.fr/<préfixe>/.

Les images officielles de Docker Hub se trouvent dans l'espace de noms library. Une image utilisateur conserve son espace de noms <utilisateur>/<image>.

# nginx (image officielle : hub.docker.com/_/nginx)
docker pull registry.isima.fr/dh/library/nginx:latest

# une image utilisateur (hub.docker.com/r/bitnami/postgresql)
docker pull registry.isima.fr/dh/bitnami/postgresql:16
# ghcr.io/home-assistant/home-assistant:stable
docker pull registry.isima.fr/ghcr/home-assistant/home-assistant:stable
# quay.io/prometheus/prometheus:latest
docker pull registry.isima.fr/quay.io/prometheus/prometheus:latest
# gcr.io/distroless/static-debian12
docker pull registry.isima.fr/gcr/distroless/static-debian12
# lscr.io/linuxserver/nextcloud:latest
docker pull registry.isima.fr/lscr/linuxserver/nextcloud:latest

Dans un Dockerfile

Vous pouvez aussi faire pointer vos FROM vers le proxy pour accélérer vos builds :

FROM registry.isima.fr/dh/library/python:3.12-slim

Comment fonctionne le cache ?

  • Premier pull : l'image est téléchargée depuis le registre public, servie, puis mise en cache.
  • pull suivants : le registre vérifie auprès de la source si l'image a changé. Si elle est inchangée, la version en cache est servie directement.
  • Source injoignable : si le registre public est indisponible, la version en cache reste accessible.

Politique de rétention

Les images d'un projet proxy cache sont automatiquement purgées du cache après une période d'inactivité (par défaut 7 jours sans utilisation). Une image purgée sera simplement re-téléchargée au prochain pull.

Authentification

Selon la configuration, l'accès aux projets proxy cache peut nécessiter d'être authentifié (docker login registry.isima.fr). Pensez-y notamment dans vos pipelines GitLab.