Comment résoudre l'erreur pull access denied for xx, repository does not exist or may require docker login ?

Avec Docker, vous pouvez créer des containers qui vont vous permettre de virtualiser plusieurs systèmes d'exploitation ou applications sur une même plateforme. Ce système est très utilisé sur les serveurs pour pouvoir regrouper plusieurs machines virtuelles au sein d'une seule machine physique. Lorsque vous déployez une image, vous pouvez rencontrer le message d'erreur suivant : "pull access denied for xx, repository does not exist or may require docker login". Ce message d'erreur peut être trompeur.

Ce message apparaît lors de l'utilisation de la commande "docker build deploy", qui permet de construire puis déployer une image. La plupart du temps, le message est trompeur car l'erreur se produit généralement dans le cas où l'image utilisée pour créer le container n'existe pas ou plus. Vous devez vérifier que le nom de l'image a été correctement écrit. Si c'est le cas, alors vous devez donc vous baser sur une autre image pour créer le container dont vous avez besoin. Le site https://hub.docker.com/ regroupe des images officielles créées par les développeurs du logiciel, et aussi un grand nombre d'images créées par la communauté.

Le message d'erreur peut également s'afficher si vous utilisez une image située dans un registre privé. Vous devez dans ce cas modifier le fichier de configuration "deployment.yaml" afin d'insérer les informations nécessaires pour vous authentifier. Vous trouverez plus d'informations en lisant la documentation de Kubernetes, une plateforme de déploiement open source basée sur Docker : https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/.

pods/private-reg-pod.yaml  
apiVersion: v1
kind: Pod
metadata:
  name: registre-prive
spec:
  containers:
  - name: mon-container
    image: <votre-image-privee>
  imagePullSecrets:
  - name: regcred