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.

J’utilise la CI pour compiler un document LaTeX (trop long pour une compilation sur PLMLaTeX ou Overleaf, de plus j’ai vraiment besoin du versionnage git).
Sur https://docker-images.pages.math.cnrs.fr/ je ne vois pas d’image orienté LaTeX. Est-ce que je prends une image “neutre” (par exemple Debian) et que je lui fait l’installation de LaTeX depuis la distribution avant de lancer la compilation… ça me semble pas très économe en énergie, non ?
Ou y-a-t-il un moyen de “péréniser” une image surlaquelle je lancerai la compilation ?

Merci de votre aide.

Solution : en fait de très nombreuses images sont présentes dans le groupe docker-images de plmlab.

Du coup j’ai pu mettre comme image dans le .gitlab-ci.yml
image: Sign in · GitLab

Ça marche :slight_smile:

Si vous avez le même genre de difficultés : allez vois là : docker-images · GitLab
Il y a de très nombreuses images disponible même si elles ne sont pas listées sur https://docker-images.pages.math.cnrs.fr/