Build
invalid reference format – Docker INVALID_REFERENCE_FORMAT
L'errore Docker invalid reference format indica che il riferimento a un'immagine non rispetta la sintassi prevista per registry, repository o tag. Può dipendere da maiuscole, spazi, un separatore errato, una variabile vuota o un tag costruito male nello script di build. Il controllo iniziale consiste nel stampare il valore finale passato a Docker e confrontarlo con il formato host/namespace/repository:tag.
Cosa significa questo errore?
L'errore Docker invalid reference format indica che il riferimento a un'immagine non rispetta la sintassi prevista per registry, repository o tag. Può dipendere da maiuscole, spazi, un separatore errato, una variabile vuota o un tag costruito male nello script di build. Il controllo iniziale consiste nel stampare il valore finale passato a Docker e confrontarlo con il formato host/namespace/repository:tag.
Messaggio originale
invalid reference formatContesto e parole chiave
Alias
- Error parsing reference
- not a valid repository/tag
Messaggi alternativi
- Formato immagine Docker non valido
- Nome repository o tag non conforme
Prodotti
- Docker Engine / Docker CLI
Piattaforme
- Linux
- macOS
- Windows
Parole chiave
- docker image tag errore
- docker invalid reference format
- docker repository tag non valido
Cause possibili
Repository o tag con caratteri non ammessi
Il nome contiene maiuscole, spazi o caratteri che non appartengono alla grammatica dei riferimenti Docker.
molto comuneVariabile di pipeline vuota o concatenata male
Uno script produce un riferimento incompleto come :latest o inserisce un separatore in posizione errata.
comuneDiagnosi
Riferimento finale dell'immagine
Stampare la variabile o il comando completo prima di docker build, tag o push.
Come leggere il risultato. Il valore deve contenere un repository valido e, se presente, un tag dopo un solo separatore colon.
printf 'IMAGE_REF=<%s>\n' $IMAGE_REFCaratteri e segmenti del nome
Provare il riferimento con docker image tag o con una stringa minima nota.
Come leggere il risultato. Se il riferimento minimo funziona, l'errore è nella costruzione del nome usato dalla pipeline.
docker image tag alpine:latest registry.example/team/app:1.0Risoluzione
Normalizzazione del nome immagine
Generare repository e tag in minuscolo, senza spazi e con separatori validi.
- Separare registry, repository e tag.
- Convertire in minuscolo i segmenti ammessi.
- Rimuovere spazi e caratteri non validi.
- Rifiutare la pipeline se una variabile obbligatoria è vuota.
Correzione della sintassi di tag e registry
Usare il formato documentato e non confondere porta del registry con separatore del tag.
- Applicare il formato host:porta/namespace/repository:tag quando necessario.
- Verificare che il repository sia presente nel registry.
- Eseguire il tag localmente.
- Ripetere build e push dopo la verifica.
Domande frequenti
Il carattere più spesso responsabile dell'errore è lo spazio?
Gli spazi sono una causa frequente, ma anche maiuscole, variabili vuote e separatori errati possono rendere invalido il riferimento finale.
Approfondimenti
- docker image tag - Docker Docs documentazione_ufficiale