Formato de referência inválido do Docker

Formato De Referencia Invalido Do Docker



Ao trabalhar com imagens Docker ou Dockerfile, você pode encontrar o erro “formato de referência inválido”.

Neste tutorial, aprenderemos o que esse erro significa, por que ocorre e como você pode resolvê-lo no uso do Docker.

O que é uma referência de imagem no Docker?

No Docker, uma referência de imagem refere-se a um método de identificação e localização de uma imagem específica do Docker no registro do Docker (Docker Hub) ou no host Docker local.







Por padrão, a referência da imagem é composta por dois componentes principais:



Repositório – A primeira parte define o repositório da imagem alvo. Esta é a unidade organizacional de nível superior da imagem Docker, usada principalmente para representar a organização ou o indivíduo que gerencia a imagem. Por exemplo, você pode encontrar uma imagem chamada Microsoft/SQL-server. Neste caso, a primeira parte representa a organização que mantém a imagem.



Tag – A segunda parte de uma imagem é um rótulo associado à versão ou variante específica da imagem no repositório. As tags de imagem podem representar diferentes versões da mesma imagem, diferentes lançamentos ou diferentes compatibilidades. Por exemplo, na imagem nginx:latest onde a tag mais recente se refere à versão mais recente da imagem Nginx.





Ao especificar a imagem em um Dockerfile ou em um comando docker, o nome da imagem deve seguir as seguintes regras de nomenclatura:

  • O nome do repositório deve estar em letras minúsculas.
  • O repositório também pode conter letras, números, hífens (-), sublinhados (_) ou barras (/) para indicar organização ou agrupamento dentro de um registro.
  • Nenhum caractere de espaço em branco (espaços ou tabulações) deve estar no nome da imagem.

Formato de referência inválido do Docker

Quando você recebe o erro “formato de referência inválido” ao executar o Dockerfile ou comando Docker, significa que seu nome não obedeceu às regras acima.



Um exemplo é mostrado:

$ docker puxar BusyBox

Se executarmos o comando acima, ele retornará um erro conforme mostrado:

inválido referência formato: o nome do repositório deve estar em letras minúsculas

Neste caso, indica-nos que o formato do nome da imagem está incorreto, pois o nome da imagem deve estar sempre em letras minúsculas.

Como corrigir o erro de formato de referência inválido do Docker

Como você pode imaginar, o primeiro método é garantir que o formato de referência da imagem esteja correto. Isso inclui verificar se o nome da imagem é válido.

Por exemplo, no comando acima, podemos corrigir o erro especificando o nome da imagem como:

$ sudo docker pull busybox:mais recente

Nesse caso, o comando deve extrair a versão mais recente da imagem do Busybox.

Método 2 – Dividir comandos longos do Docker

Em alguns outros casos, você pode encontrar o erro “formato de referência inválido” ao executar um comando longo do Docker.

Nesse caso, dividir o comando em várias linhas é uma boa prática. O método de divisão de comandos dependerá do seu shell e sistema.

  • No entanto, para o shell Bash, use o caractere de escape multilinha ou barra invertida (\).
  • Para PowerShell, você pode usar o caractere crase (`).
  • Finalmente, se você estiver no prompt de comando, poderá usar um caractere circunflexo como ^

Por exemplo, no Bash, execute o comando como:

$ sudo construção do docker \

-isto \

caixa ocupada \

eh

No PowerShell, você pode executar o comando conforme mostrado:

$ sudo construção do docker `

-isto `

caixa ocupada `

eh

E por último, se você estiver no prompt de comando, use o comando conforme mostrado:

$ sudo construção do docker ^

-isto ^

caixa ocupada ^

eh

Método 3 – caminho ${pwd} AND $(pwd)

Outra causa comum desse erro é ao usar a variável ${pwd}. Isso pode causar conflito, dependendo do tipo de shell no qual você está executando o referido comando.

No caso do PowerShell, você precisa usar a variável ${pwd} em vez de $(pwd).

Como você pode imaginar, no caso do Bash, use o formato de parênteses em vez da entrada entre chaves como $(pwd).

Conclusão

Esta postagem discutiu as principais causas do “formato de referência inválido” ao trabalhar com Dockerfile ou comandos docker. Também exploramos três métodos principais que você pode usar para corrigir esse problema.