Résolution de l’erreur « Docker : format de référence non valide » étape par étape

Résolution de l’erreur « Docker : format de référence non valide » étape par étape

Docker simplifie le développement, l’exécution et la gestion des conteneurs. Cependant, l’erreur « Format de référence invalide » qui survient lors de la création ou de l’exécution d’une image est un obstacle courant. Généralement, cette erreur résulte de problèmes mineurs de formatage dans le nom ou la balise de l’image, qui peuvent inclure des majuscules, des caractères spéciaux ou une balise vide. Dans cet article, nous examinerons les causes courantes de cette erreur et proposerons des solutions pour l’éviter à l’avenir.

Comprendre l’erreur « Format de référence invalide » dans Docker

L’erreur « Format de référence non valide » signifie que Docker ne parvient pas à interpréter le nom d’image que vous avez fourni en raison d’un formatage incorrect. Pour que Docker traite correctement les requêtes, les noms d’image doivent respecter une structure spécifique.

La syntaxe requise est la suivante :

[registry/][repository][:tag]

Pour garantir la conformité, respectez ces directives :

  • Utilisez toujours des lettres minuscules ; les lettres majuscules ne sont pas autorisées dans les noms d’images Docker.
  • Utilisez des valeurs numériques, des tirets (-), des points (.) et des traits de soulignement (_) pour séparer les mots ou indiquer les versions, telles que my-app_v1.0.
  • Évitez les caractères spéciaux tels que @, #, ! ou $ car ils ne sont pas autorisés.
  • Suivez les conventions de nommage DNS : chaque segment du nom de l’image (séparé par des barres obliques ou des points) doit comporter entre 1 et 63 caractères, et les tirets ne doivent pas être positionnés au début ou à la fin.
  • Le nom complet de l’image, y compris les détails du registre et des balises, ne doit pas dépasser 255 caractères.

Résolution de l’erreur « Format de référence non valide »

Examinons les déclencheurs courants de l’erreur « format de référence non valide » et comment les corriger :

Problèmes avec les majuscules dans les noms d’images

Docker exige que tous les noms d’images soient entièrement en minuscules. La présence d’une seule majuscule peut entraîner des problèmes de formatage. Par exemple, l’exécution de la commande suivante générera une erreur :

docker pull NGINX

Le nom du dépôt doit être en minuscules

Pour atténuer ce problème, assurez-vous toujours que les noms de vos images sont en minuscules avant d’exécuter la commande :

docker pull nginx

Utiliser des minuscules

Examen des caractères spéciaux ou invalides

Il arrive que des utilisateurs incorporent involontairement des caractères interdits dans leurs commandes, notamment des espaces ou le symbole @.Par exemple, la commande suivante contient un caractère spécial qui déclenchera une erreur :

docker run ubuntu@:latest

Symbole spécial d'erreur

Pour résoudre ces erreurs, assurez-vous que vos commandes ne contiennent aucun caractère superflu. Vous pouvez utiliser un éditeur de texte brut pour la vérification et la correction :

docker run ubuntu:latest

Évitez les caractères spéciaux

Problèmes avec les deux-points manquant de balises

Une erreur fréquente consiste à placer deux points à la fin du nom de l’image sans balise. Par exemple, lors de l’extraction d’un nœud avec la commande suivante :

docker pull node:

Docker anticipe une balise post-deux points, comme latest« or » 18-alpine. Si elle est omise, la commande génère un nom d’image incomplet, provoquant l’erreur « format de référence non valide » :

Deux points sans étiquette

Pour résoudre ce problème, ajoutez une balise valide après les deux points dans le nom de votre image :

docker pull node:latest

Ajouter une balise après les deux points

Chemins de fichiers ou montages de volumes contenant des espaces

L’inclusion de chemins de fichiers contenant des espaces, notamment pour les options de -vmontage de volumes, peut entraîner une mauvaise interprétation de certains segments du chemin par Docker. Cela peut entraîner un comportement inattendu :

docker run -v /home/user/My Folder:/app ubuntu

Espaces dans le nom du fichier

Pour éliminer ce problème, encapsulez tous les chemins avec des espaces entre guillemets, comme indiqué ci-dessous :

docker run -v "/home/user/My Folder:/app" ubuntu

Assurez-vous de remplacer « /home/user/My Folder » par le chemin réel que vous souhaitez monter dans le conteneur.

Utilisation incorrecte des variables

Si une variable comme celle-ci $VERSIONn’est pas configurée correctement, cela peut entraîner l’erreur « format de référence invalide » dans Docker. Prenons par exemple la commande ci-dessous, qui tente d’extraire une image depuis Docker Hub :

docker pull ubuntu:$VERSION

Ici, si $VERSIONn’est pas défini, Docker lit la commande comme docker pull ubuntu:, ce qui entraîne un nom d’image erroné car il se termine par deux points sans balise valide.

Utilisation incorrecte des variables

Pour éviter cela, assurez-vous que toutes les variables utilisées dans vos commandes sont correctement définies. Dans un environnement Linux, définissez une variable en utilisant la syntaxe suivante :

$VERSION=latest

Ensuite, vous pouvez extraire la version désignée en exécutant :

docker pull ubuntu:$VERSION

Dans Windows CMD, utilisez la setsyntaxe pour définir une variable et la référencer avec le %VARIABLE%format. Par exemple :

set VERSION=latestdocker pull ubuntu:%VERSION%

Le réglage $VERSIONsur la dernière version permet une extraction fluide de l’ ubuntu:latestimage sans erreur. Des balises de version spécifiques, telles que 18.04, peuvent également être attribuées selon les besoins.

Définir correctement la variable

Erreurs courantes de copier-coller

Les utilisateurs copient souvent des commandes provenant de sources en ligne, mais celles-ci peuvent contenir par inadvertance des caractères cachés, comme des espaces invisibles ou des signes de ponctuation inhabituels. Ces caractères cachés peuvent perturber vos commandes Docker.

Pour éviter ces pièges, essayez de saisir manuellement les commandes chaque fois que cela est possible, ou de les coller d’abord dans un éditeur de texte brut pour supprimer tout formatage indésirable.

Conclusion

En comprenant les principales causes de l’erreur « Format de référence invalide » dans Docker et les solutions pratiques, vous êtes désormais équipé pour éviter que ce problème ne se reproduise. Vérifier régulièrement les erreurs de majuscules, s’assurer de l’exactitude des affectations de variables et faire attention aux caractères spéciaux et aux espaces peut considérablement simplifier votre expérience Docker.

Source et images

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *