Formato de referencia no válido de Docker

Formato De Referencia No Valido De Docker



Al trabajar con imágenes de Docker o Dockerfile, es posible que encuentre el error 'formato de referencia no válido'.

En este tutorial, aprenderemos qué significa este error, por qué ocurre y cómo puede resolverlo en su uso de Docker.

¿Qué es una referencia de imagen en Docker?

En Docker, una referencia de imagen se refiere a un método para identificar y ubicar una imagen de Docker específica dentro del registro de Docker (Docker Hub) o el host de Docker local.







De forma predeterminada, la referencia de la imagen se compone de dos componentes principales:



Repositorio: la primera parte define el repositorio de la imagen de destino. Esta es la unidad organizativa de nivel superior para la imagen de Docker y se utiliza principalmente para representar a la organización o al individuo que administra la imagen. Por ejemplo, puede encontrar una imagen llamada Microsoft/SQL-server. En este caso, la primera parte representa la organización que mantiene la imagen.



Etiqueta: la segunda parte de una imagen es una etiqueta asociada con la versión o variante específica de la imagen dentro del repositorio. Las etiquetas de imagen pueden representar diferentes versiones de la misma imagen, diferentes versiones o diferentes compatibilidades. Por ejemplo, en la imagen de nginx:latest donde la última etiqueta hace referencia a la última versión de la imagen de Nginx.





Al especificar la imagen en un Dockerfile o en un comando de Docker, el nombre de la imagen debe seguir las siguientes reglas de nomenclatura:

  • El nombre del repositorio debe estar en minúsculas.
  • El repositorio también puede contener letras, números, guiones (-), guiones bajos (_) o barras diagonales (/) para indicar organización o agrupación dentro de un registro.
  • No debe haber espacios en blanco (espacios o tabulaciones) en el nombre de la imagen.

Formato de referencia no válido de Docker

Cuando recibe el error 'formato de referencia no válido' al ejecutar el Dockerfile o el comando Docker, significa que su nombre no cumple con las reglas anteriores.



Un ejemplo es el que se muestra:

$ extracción de la ventana acoplable BusyBox

Si ejecutamos el comando anterior, devolverá un error como se muestra:

inválido referencia formato: el nombre del repositorio debe estar en minúsculas

En este caso nos indica que el formato del nombre de la imagen es incorrecto, ya que el nombre de la imagen siempre debe estar en minúsculas.

Cómo solucionar el error de formato de referencia no válido de Docker

Como puede adivinar, el primer método es garantizar que el formato de referencia de la imagen sea correcto. Esto incluye verificar que el nombre de la imagen sea válido.

Por ejemplo, en el comando anterior, podemos corregir el error especificando el nombre de la imagen como:

$ sudo ventana acoplable tire de la caja ocupada: más reciente

En este caso, el comando debería extraer la última versión de la imagen de Busybox.

Método 2: dividir comandos largos de Docker

En algunos otros casos, puede encontrar el error 'formato de referencia no válido' al ejecutar un comando Docker largo.

En tal caso, es una buena práctica dividir el comando en varias líneas. El método de división de comandos dependerá de su shell y sistema.

  • Sin embargo, para el shell Bash, utilice el carácter de escape multilínea o la barra invertida (\).
  • Para PowerShell, puede utilizar el carácter de comilla invertida (`).
  • Finalmente, si está en el símbolo del sistema, puede usar un carácter de intercalación como ^

Por ejemplo, en Bash, ejecute el comando como:

$ sudo compilación de ventana acoplable \

-él \

caja ocupada \

sh

En PowerShell, puede ejecutar el comando como se muestra:

$ sudo construcción de ventana acoplable `

-él `

caja ocupada `

sh

Y por último, si está en el símbolo del sistema, use el comando como se muestra:

$ sudo compilación de ventana acoplable ^

-él ^

caja ocupada ^

sh

Método 3: ruta ${pwd} Y $(pwd)

Otra causa común de este error es cuando se utiliza la variable ${pwd}. Esto puede causar conflictos, dependiendo del tipo de shell en el que esté ejecutando dicho comando.

En el caso de PowerShell, debe utilizar la variable ${pwd} en lugar de $(pwd).

Como puede adivinar, en el caso de Bash, use el formato de paréntesis en lugar de la entrada entre llaves como $(pwd).

Conclusión

Esta publicación analiza las causas principales del 'formato de referencia no válido' cuando se trabaja con Dockerfile o comandos de Docker. También exploramos tres métodos principales que puede utilizar para solucionar este problema.