Neplatný referenční formát Dockeru

Neplatny Referencni Format Dockeru



Při práci s obrázky Docker nebo Dockerfile se můžete setkat s chybou „neplatný referenční formát“.

V tomto tutoriálu se dozvíme, co tato chyba znamená, proč k ní dochází a jak ji můžete vyřešit při používání Dockeru.

Co je to odkaz na obrázek v Dockeru?

V Dockeru odkaz na obrázek odkazuje na metodu identifikace a umístění konkrétního obrázku Dockeru v registru Docker (Docker Hub) nebo místním hostiteli Dockeru.







Ve výchozím nastavení se referenční obrázek skládá ze dvou hlavních součástí:



Úložiště – První část definuje úložiště pro cílový obrázek. Toto je organizační jednotka nejvyšší úrovně pro image Docker, která se používá hlavně k reprezentaci organizace nebo jednotlivce spravujícího image. Můžete například najít obrázek s názvem Microsoft/SQL-server. V tomto případě první část představuje organizaci udržující image.



Tag – Druhá část obrázku je štítek spojený s konkrétní verzí nebo variantou obrázku v úložišti. Značky obrázků mohou představovat různé verze stejného obrázku, různá vydání nebo různou kompatibilitu. Například v obrázku nginx:latest, kde nejnovější značka odkazuje na nejnovější verzi obrázku Nginx.





Při zadávání obrázku v příkazu Dockerfile nebo docker musí název obrázku splňovat následující pravidla pro pojmenování:

  • Název úložiště by měl být malými písmeny.
  • Úložiště může také obsahovat písmena, čísla, spojovníky (-), podtržítka (_) nebo lomítka (/) k označení organizace nebo seskupení v registru.
  • V názvu obrázku by neměly být žádné mezery (mezery nebo tabulátory).

Docker Neplatný referenční formát

Když se při spuštění příkazu Dockerfile nebo Docker zobrazí chyba „neplatný referenční formát“, znamená to, že vaše jméno nedodržuje výše uvedená pravidla.



Příklad je uveden:

$ docker vytáhněte BusyBox

Pokud spustíme výše uvedený příkaz, vrátí chybu, jak je znázorněno:

neplatný odkaz formát: název úložiště musí být malá písmena

V tomto případě nám to říká, že formát názvu obrázku je nesprávný, protože název obrázku by měl být vždy malá písmena.

Jak opravit chybu neplatného formátu reference Docker

Jak můžete hádat, první metodou je zajištění správného referenčního formátu obrázku. To zahrnuje ověření platnosti názvu obrázku.

Například ve výše uvedeném příkazu můžeme opravit chybu zadáním názvu obrázku jako:

$ sudo docker pull busybox:nejnovější

V tomto případě by měl příkaz stáhnout nejnovější verzi obrazu Busybox.

Metoda 2 – Rozdělit dlouhé příkazy Docker

V některých jiných případech se můžete při spuštění dlouhého příkazu Docker setkat s chybou „neplatný referenční formát“.

V takovém případě je dobrou praxí rozdělení příkazu do více řádků. Způsob rozdělení příkazů bude záviset na vašem shellu a systému.

  • Pro prostředí Bash však použijte víceřádkový znak escape nebo zpětné lomítko (\).
  • Pro PowerShell můžete použít znak backtick (`).
  • A konečně, pokud jste na příkazovém řádku, můžete použít znak stříšky jako ^

Například na Bash spusťte příkaz jako:

$ sudo sestavení dockeru \

-to \

busybox \

sh

V PowerShellu můžete spustit příkaz, jak je znázorněno:

$ sudo sestavení dockeru '

-to '

busybox '

sh

A nakonec, pokud jste na příkazovém řádku, použijte příkaz, jak je znázorněno:

$ sudo sestavení dockeru ^

-to ^

busybox ^

sh

Metoda 3 – ${pwd} AND $(pwd) cesta

Další častou příčinou této chyby je použití proměnné ${pwd}. To může způsobit konflikt v závislosti na typu shellu, na kterém provádíte uvedený příkaz.

V případě PowerShellu musíte místo $(pwd) použít proměnnou ${pwd}.

Jak můžete hádat, v případě Bash použijte formát závorek místo vstupu se složenými závorkami jako $(pwd).

Závěr

Tento příspěvek pojednával o hlavních příčinách „neplatného referenčního formátu“ při práci s příkazy Dockerfile nebo docker. Také jsme prozkoumali tři hlavní metody, které můžete použít k vyřešení tohoto problému.