1
resposta

Erro ao realizar build no Docker Hub

Olá!

Quando tento gerar o build para o Docker Hub conforme o exemplo:

env:
                IMAGE_TAG: ${{ github.sha }}
run: docker build -t meuregistro/meu-app:$IMAGE_TAG .

o docker retorna um erro "invalid reference format". Acho que diferente do ECR o Docker Hub não aceita esse tipo de image_tag?

1 resposta

Olá, Deise.

Tudo bem?

Esse erro "invalid reference format" geralmente ocorre quando há algum problema com o formato da tag da imagem que você está tentando usar. No seu caso, parece que a variável ${{ github.sha }} pode estar gerando um valor que não é aceito como tag pelo Docker Hub.

Aqui estão algumas coisas que você pode verificar e tentar:

  1. Verifique o valor da variável github.sha: Certifique-se de que o valor gerado por ${{ github.sha }} é um hash válido do GitHub. Normalmente, ele deve ser um hash SHA-1 que consiste em 40 caracteres hexadecimais.

  2. Use um valor fixo para testar: Tente substituir ${{ github.sha }} por um valor fixo, como latest, para ver se o problema persiste. Por exemplo:

    run: docker build -t meuregistro/meu-app:latest .
    
  3. Sanitização do valor da tag: Certifique-se de que o valor da tag não contém caracteres especiais ou espaços. Tags de imagens Docker devem seguir um formato específico, como letras minúsculas, números, pontos, traços e sublinhados.

  4. Exemplo de sanitização: Se o valor do SHA estiver causando problemas, você pode usar apenas os primeiros 7 caracteres do SHA, que geralmente são suficientes para identificar uma versão de commit de forma única:

    env:
        SHORT_SHA: ${{ github.sha }}[0:7]
    run: docker build -t meuregistro/meu-app:$SHORT_SHA .
    

Aqui está um exemplo completo com a sanitização do SHA:

env:
    SHORT_SHA: ${{ github.sha }}[0:7]
run: docker build -t meuregistro/meu-app:$SHORT_SHA .

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.