Home
» Conseils PC
»
Comment corriger lerreur « Docker : format de référence non valide »
Comment corriger lerreur « Docker : format de référence non valide »
Docker simplifie la création, l'exécution et la gestion des conteneurs. Cependant, vous pouvez rencontrer une erreur « Format de référence non valide » lors de l'exécution ou de la création d'une image. Dans la plupart des cas, cela est dû à une erreur de formatage mineure dans le nom ou la balise de l'image. Par exemple, l'erreur peut être due à des majuscules, des caractères spéciaux ou des valeurs manquantes. Ce guide explique les causes courantes de cette erreur et comment la corriger pour éviter qu'elle ne se reproduise.
Correction de l'erreur « Format de référence non valide »
Découvrons les causes les plus courantes de l'erreur « Format de référence non valide » et comment les corriger :
Lettres majuscules dans les noms d'images
Docker exige que les noms d'images soient en minuscules. Une seule majuscule peut entraîner des erreurs de formatage. Par exemple, l'exécution de la commande suivante entraînera une erreur :
docker pull NGINX
Les noms d'archives doivent être en minuscules
Pour éviter cette erreur, vérifiez toujours que le nom de votre image est en minuscules avant d'exécuter la commande.
docker pull nginx
Utiliser des lettres minuscules
Caractère spécial ou invalide
Il arrive que les utilisateurs ajoutent accidentellement des caractères non autorisés par Docker. Il s'agit notamment de signes @, d'espaces ou de caractères copiés d'un site web ou d'un document qui semblent normaux, mais qui ne le sont pas.
Par exemple, la commande suivante contient le caractère spécial @, ce qui provoquera l'erreur suivante :
docker run ubuntu@:latest
Erreur de caractère spécial
Pour corriger cette erreur, assurez-vous qu'il n'y a pas de caractères supplémentaires ni de problèmes de formatage dans la commande. Vous pouvez utiliser un éditeur de texte brut pour vérifier et nettoyer la commande (si nécessaire) :
docker run ubuntu:latest
Évitez les caractères spéciaux
Deux points sans étiquette
L'une des erreurs les plus courantes consiste à ajouter deux points à la fin du nom de l'image sans inclure la balise. Par exemple, essayons la commande suivante pour extraire Node :
docker pull node:
Docker attend une valeur après les deux points, telle que latest, 18-alpine ou toute autre balise valide. Si aucune valeur n'est fournie, le nom de l'image est considéré comme incomplet et génère une erreur « Format de référence non valide » :
Deux points sans étiquette
Pour corriger cette erreur, ajoutez une balise appropriée après les deux points pour rendre le nom de l'image complet et valide :
docker pull node:latest
Ajouter des balises après les deux points
Le chemin du fichier ou le montage du volume contient des espaces
Lorsque vous incluez un chemin de fichier contenant des espaces, notamment avec des options comme -v (montage de volume), Docker peut interpréter à tort certaines parties du chemin comme des arguments distincts, voire comme une partie du nom de l'image. Vous risquez alors d'obtenir des résultats inattendus, comme celui illustré ci-dessous :
docker run -v /home/user/My Folder:/app ubuntu
Espaces dans les noms de fichiers
Pour éviter cela, entourez toujours le chemin du fichier d'espaces entre guillemets, comme indiqué ci-dessous :
docker run -v "/home/user/My Folder:/app" ubuntu
Remplacez « /home/user/My Folder » par le chemin réel vers le répertoire que vous souhaitez monter dans le conteneur.
Utilisation inappropriée des variables
Avec Docker, il est courant d'utiliser des variables dans les commandes, notamment pour spécifier les versions d'images. Cependant, si une variable comme $VERSION n'est pas définie correctement, Docker peut rencontrer des problèmes tels que l'erreur « Format de référence non valide ».
Par exemple, exécutez la commande suivante pour extraire Ubuntu de Docker Hub :
docker pull ubuntu:$VERSION
Ici, $VERSION est censé représenter la version de l'image Ubuntu à extraire. Cependant, si vous ne lui attribuez pas de valeur, Docker interprétera la commande comme « docker pull ubuntu: ». Le nom de l'image sera alors invalide, car il se termine par deux points et ne contient pas la balise de version requise.
Utilisation incorrecte des variables
Pour éviter cela, assurez-vous que toutes les variables utilisées dans la commande sont correctement définies. Sous Linux, vous pouvez définir une variable en utilisant la syntaxe suivante.
$VERSION=latest
Ensuite, extrayez la version spécifiée en exécutant la commande suivante.
docker pull ubuntu:$VERSION
Dans Windows CMD, vous devez utiliser le mot-clé set pour définir une variable (comme la version), puis utiliser la syntaxe %VARIABLE% pour y faire référence dans des commandes telles que docker pull.
set VERSION=latest
docker pull ubuntu:%VERSION%
Ici, $VERSION contient la valeur la plus récente ; Docker récupère donc l' image ubuntu:latest sans problème. Vous pouvez également attribuer une version spécifique, par exemple 18.04, si nécessaire.
Définir correctement les variables
Problème de copier-coller
Il arrive que des utilisateurs copient des commandes à partir de tutoriels ou de documentations en ligne. Ces commandes copiées peuvent contenir des caractères cachés, tels que des espaces invisibles, des signes de ponctuation non anglais ou des guillemets spéciaux. Ces caractères peuvent corrompre vos commandes Docker de manière involontaire.
Pour éviter cela, il est préférable de saisir la commande vous-même lorsque cela est possible, ou de coller d'abord la commande dans un éditeur de texte brut pour supprimer le formatage indésirable.
Maintenant que vous connaissez les causes courantes de l'erreur « Format de référence invalide » dans Docker et comment la corriger, vous serez sur la bonne voie pour éviter ce problème à l'avenir. De la vérification de la casse à la définition correcte de vos variables, ces conseils simples peuvent vous faire gagner beaucoup de temps et vous éviter bien des frustrations. Si vous souhaitez aller plus loin, vous pourriez également apprendre à baliser et à transférer vos images Docker personnalisées vers le registre, ou à nettoyer les images inutilisées pour maintenir votre système propre.