Format de référence Docker invalide

Format De Reference Docker Invalide



Lorsque vous travaillez avec des images Docker ou Dockerfile, vous pouvez rencontrer l'erreur « format de référence invalide ».

Dans ce didacticiel, nous apprendrons ce que signifie cette erreur, pourquoi elle se produit et comment vous pouvez la résoudre lors de votre utilisation de Docker.

Qu’est-ce qu’une référence d’image dans Docker ?

Dans Docker, une référence d'image fait référence à une méthode d'identification et de localisation d'une image Docker spécifique dans le registre Docker (Docker Hub) ou l'hôte Docker local.







Par défaut, la référence d'image est composée de deux composants principaux :



Référentiel – La première partie définit le référentiel de l'image cible. Il s'agit de l'unité organisationnelle de niveau supérieur pour l'image Docker, principalement utilisée pour représenter l'organisation ou la personne qui gère l'image. Par exemple, vous pouvez trouver une image nommée Microsoft/SQL-server. Dans ce cas, la première partie représente l’organisation qui entretient l’image.



Balise – La deuxième partie d'une image est une étiquette associée à la version ou variante spécifique de l'image dans le référentiel. Les balises d'image peuvent représenter différentes versions de la même image, différentes versions ou différentes compatibilités. Par exemple, dans l'image de nginx:latest où la dernière balise fait référence à la dernière version de l'image Nginx.





Lorsque vous spécifiez l'image dans une commande Dockerfile ou docker, le nom de l'image doit suivre les règles de dénomination suivantes :

  • Le nom du référentiel doit être en minuscules.
  • Le référentiel peut également contenir des lettres, des chiffres, des traits d'union (-), des traits de soulignement (_) ou des barres obliques (/) pour indiquer une organisation ou un regroupement au sein d'un registre.
  • Aucun caractère d'espacement (espaces ou tabulations) ne doit figurer dans le nom de l'image.

Format de référence Docker invalide

Lorsque vous obtenez l'erreur « format de référence invalide » lors de l'exécution de la commande Dockerfile ou Docker, cela signifie que votre nom n'a pas respecté les règles ci-dessus.



Un exemple est le suivant :

$ docker extraire BusyBox

Si nous exécutons la commande ci-dessus, elle renverra une erreur comme indiqué :

invalide référence format : le nom du référentiel doit être en minuscule

Dans ce cas, cela nous indique que le format du nom de l'image est incorrect, car le nom de l'image doit toujours être en minuscules.

Comment corriger l'erreur de format de référence non valide Docker

Comme vous pouvez le deviner, la première méthode consiste à garantir que le format de référence de l’image est correct. Cela inclut la vérification que le nom de l'image est valide.

Par exemple, dans la commande ci-dessus, nous pouvons corriger l'erreur en spécifiant le nom de l'image comme suit :

$ sudo Docker Pull Busybox : dernier

Dans ce cas, la commande doit extraire la dernière version de l’image Busybox.

Méthode 2 – Diviser les commandes Docker longues

Dans d'autres cas, vous pouvez rencontrer l'erreur « format de référence non valide » lors de l'exécution d'une longue commande Docker.

Dans un tel cas, diviser la commande en plusieurs lignes est une bonne pratique. La méthode de fractionnement des commandes dépendra de votre shell et de votre système.

  • Cependant, pour le shell Bash, utilisez le caractère d'échappement multiligne ou la barre oblique inverse (\).
  • Pour PowerShell, vous pouvez utiliser le caractère backtick (`).
  • Enfin, si vous êtes sur l'invite de commande, vous pouvez utiliser un caractère caret comme ^

Par exemple, sur Bash, exécutez la commande comme :

$ sudo construction de docker \

-il \

boîte occupée \

merde

Sur PowerShell, vous pouvez exécuter la commande comme indiqué :

$ sudo construction de docker `

-il `

boîte occupée `

merde

Et enfin, si vous êtes sur l'invite de commande, utilisez la commande comme indiqué :

$ sudo construction de docker ^

-il ^

boîte occupée ^

merde

Méthode 3 – Chemin ${pwd} ET $(pwd)

Une autre cause courante de cette erreur est l'utilisation de la variable ${pwd}. Cela peut provoquer des conflits, selon le type de shell sur lequel vous exécutez ladite commande.

Dans le cas de PowerShell, vous devez utiliser la variable ${pwd} au lieu de $(pwd).

Comme vous pouvez le deviner, dans le cas de Bash, utilisez le format parenthèse au lieu de l'entrée entre accolades comme $(pwd).

Conclusion

Cet article traite des principales causes du « format de référence invalide » lors de l'utilisation des commandes Dockerfile ou Docker. Nous avons également exploré trois méthodes principales que vous pouvez utiliser pour résoudre ce problème.