Erreur pipeline: Error reading manifest latest in docker.io too many requests

Docker.io limite désormais les accès.
Ceci se traduit par des erreurs dans les pipelines CI/CD de PLMlab, de ce type :

“ERROR: Job failed (system failure): prepare environment: waiting for
pod running: pulling image “XXXX”: image pull failed: rpc
error: code = Unknown desc = Error reading manifest latest in
docker.io/library/XXX: toomanyrequests: You have reached your pull
rate limit…”

Au lieu d’utiliser les images de dockerhub (où il y a une limite
d’accès), vous pouvez utiliser celles que l’on met à disposition sur
plmlab.

Pour la liste des images disponibles, rendez-vous ici :
https://docker-images.pages.math.cnrs.fr/

L’erreur peut se produire également sur PLMShift.
Il est possible de lier un compte perso Docker pour récupérer les images :

Commencer par s’authentifier :

docker login

Cela génère un fichier dans $HOME/.docker/config.json contenant par exemple :

{
	"auths": {
		"https://index.docker.io/v1/": {
			"auth": "fsdlkfjsdkfjsdlfksjdflsdjkfsld"
		}
	}
}

Ce fichier va nous permettre de créer un secret sur PLMShift :

oc create secret generic docker-registry-docker --from-file=.dockerconfigjson=.docker/config.json --type=kubernetes.io/dockerconfigjson

On indique ensuite à PLMShift d’utiliser ce secret pour obtenir les images :

oc secrets link default docker-registry-docker --for=pull

Afin de contourner le problème il est aussi possible de se référer à un “digest” plutôt qu’un “tag”.
Par exemple, au lieu de demander l’image ubuntu:20.04, vous pouvez récupérer le “digest” correspondant sur docker.io et demander ici ubuntu@sha256:3555f4996aea6be945ae1532fa377c88f4b3b9e6d93531f47af5d78a7d5e3761

Ainsi vous allez utiliser le cache de docker.io disponible sur PLMshift et vous affranchir de la limite de docker.io

1 « J'aime »

Bonjour, testé et validé, merci.