Format de referència de Docker no vàlid

Format De Referencia De Docker No Valid



Quan treballeu amb imatges Docker o Dockerfile, és possible que us trobeu amb l'error 'format de referència no vàlid'.

En aquest tutorial, aprendrem què significa aquest error, per què es produeix i com podeu resoldre'l en el vostre ús de Docker.

Què és una referència d'imatge a Docker?

A Docker, una referència d'imatge fa referència a un mètode per identificar i localitzar una imatge de Docker específica dins del registre de Docker (Docker Hub) o de l'amfitrió de Docker local.







Per defecte, la referència de la imatge consta de dos components principals:



Repositori: la primera part defineix el dipòsit de la imatge de destinació. Aquesta és la unitat organitzativa de primer nivell per a la imatge Docker, que s'utilitza principalment per representar l'organització o l'individu que gestiona la imatge. Per exemple, podeu trobar una imatge anomenada Microsoft/SQL-server. En aquest cas, la primera part representa l'organització que manté la imatge.



Etiqueta: la segona part d'una imatge és una etiqueta associada a la versió o variant específica de la imatge dins del dipòsit. Les etiquetes d'imatge poden representar diferents versions de la mateixa imatge, diferents versions o diferents compatibilitats. Per exemple, a la imatge de nginx:latest on l'etiqueta més recent fa referència a la darrera versió de la imatge de Nginx.





Quan especifiqueu la imatge en una ordre Dockerfile o Docker, el nom de la imatge ha de seguir les regles de denominació següents:

  • El nom del repositori ha d'estar en minúscules.
  • El repositori també pot contenir lletres, números, guions (-), guions baixos (_) o barres inclinades (/) per indicar l'organització o l'agrupació dins d'un registre.
  • No hi ha cap caràcter d'espai en blanc (espais o tabulacions) al nom de la imatge.

Format de referència de Docker no vàlid

Quan obteniu l'error 'format de referència no vàlid' quan executeu l'ordre Dockerfile o Docker, vol dir que el vostre nom no s'ha adherit a les regles anteriors.



Un exemple és el que es mostra:

$ docker pull BusyBox

Si executem l'ordre anterior, tornarà un error tal com es mostra:

invàlid referència format: el nom del dipòsit ha de ser en minúscula

En aquest cas, ens indica que el format del nom de la imatge és incorrecte, ja que el nom de la imatge sempre ha d'anar en minúscula.

Com solucionar l'error de format de referència no vàlid de Docker

Com podeu suposar, el primer mètode és assegurar-vos que el format de referència de la imatge és correcte. Això inclou verificar que el nom de la imatge és vàlid.

Per exemple, a l'ordre anterior, podem corregir l'error especificant el nom de la imatge com:

$ sudo docker pull busybox: última

En aquest cas, l'ordre hauria de treure la darrera versió de la imatge de Busybox.

Mètode 2: dividir les ordres de Docker llargs

En alguns altres casos, és possible que trobeu l'error 'format de referència no vàlid' quan executeu una ordre llarga de Docker.

En aquest cas, dividir l'ordre en diverses línies és una bona pràctica. El mètode de divisió d'ordres dependrà del vostre shell i del vostre sistema.

  • Tanmateix, per a l'intèrpret d'ordres Bash, utilitzeu el caràcter d'escapada multilínia o la barra invertida (\).
  • Per a PowerShell, podeu utilitzar el caràcter de retrocés (`).
  • Finalment, si esteu al símbol del sistema, podeu utilitzar un caràcter de cursor com ^

Per exemple, a Bash, executeu l'ordre com:

$ sudo Docker build \

-ell \

busybox \

sh

A PowerShell, podeu executar l'ordre tal com es mostra:

$ sudo construcció docker `

-ell `

busybox `

sh

I, finalment, si esteu al símbol del sistema, utilitzeu l'ordre tal com es mostra:

$ sudo Docker build ^

-ell ^

busybox ^

sh

Mètode 3: camí ${pwd} I $(pwd).

Una altra causa comuna d'aquest error és quan s'utilitza la variable ${pwd}. Això pot provocar conflictes, depenent del tipus d'intèrpret d'ordres en què esteu executant l'esmentada comanda.

En el cas de PowerShell, heu d'utilitzar la variable ${pwd} en lloc de $(pwd).

Com podeu endevinar, en el cas de Bash, utilitzeu el format de parèntesis en lloc de l'entrada arrissada com a $(pwd).

Conclusió

En aquesta publicació es van discutir les principals causes del 'format de referència no vàlid' quan es treballa amb Dockerfile o ordres docker. També hem explorat tres mètodes principals que podeu utilitzar per solucionar aquest problema.