Docker Neveljavna referenčna oblika

Docker Neveljavna Referencna Oblika



Pri delu s slikami Docker ali datoteko Docker lahko naletite na napako »neveljavna referenčna oblika«.

V tej vadnici bomo izvedeli, kaj ta napaka pomeni, zakaj se pojavi in ​​kako jo lahko odpravite pri uporabi Dockerja.

Kaj je referenca slike v Dockerju?

V Dockerju se sklic na sliko nanaša na metodo prepoznavanja in lociranja določene slike Docker znotraj registra Docker (Docker Hub) ali lokalnega gostitelja Docker.







Referenca slike je privzeto sestavljena iz dveh glavnih komponent:



Repozitorij – prvi del definira repozitorij za ciljno sliko. To je organizacijska enota najvišje ravni za sliko Docker, ki se večinoma uporablja za predstavitev organizacije ali posameznika, ki upravlja sliko. Na primer, lahko najdete sliko z imenom Microsoft/SQL-strežnik. V tem primeru prvi del predstavlja organizacijo, ki vzdržuje imidž.



Oznaka – drugi del slike je oznaka, povezana z določeno različico ali različico slike v repozitoriju. Oznake za slike lahko predstavljajo različne različice iste slike, različne izdaje ali različno združljivost. Na primer, na sliki nginx:najnovejše, kjer se najnovejša oznaka nanaša na najnovejšo različico slike Nginx.





Pri podajanju slike v datoteki Dockerfile ali ukazu docker mora ime slike upoštevati naslednja pravila poimenovanja:

  • Ime repozitorija mora biti napisano z malimi črkami.
  • Repozitorij lahko vsebuje tudi črke, številke, vezaje (-), podčrtaje (_) ali poševnice (/), ki označujejo organizacijo ali združevanje znotraj registra.
  • V imenu slike ne sme biti presledkov (presledkov ali tabulatorjev).

Docker Neveljavna referenčna oblika

Ko se pri izvajanju ukaza Dockerfile ali Docker prikaže napaka »neveljavna referenčna oblika«, to pomeni, da vaše ime ni v skladu z zgornjimi pravili.



Primer je prikazan:

$ docker pull BusyBox

Če zaženemo zgornji ukaz, bo vrnil napako, kot je prikazano:

neveljaven referenca format: ime repozitorija mora biti napisano z malimi črkami

V tem primeru nam pove, da je format imena slike nepravilen, saj mora biti ime slike vedno z malimi črkami.

Kako popraviti napako Docker Invalid Reference Format Error

Kot lahko ugibate, je prva metoda zagotavljanje pravilne oblike referenčne slike. To vključuje preverjanje, ali je ime slike veljavno.

Na primer, v zgornjem ukazu lahko popravimo napako tako, da podamo ime slike kot:

$ sudo docker pull busybox:najnovejše

V tem primeru mora ukaz potegniti najnovejšo različico slike Busybox.

2. način – razdeli dolge ukaze Docker

V nekaterih drugih primerih lahko med izvajanjem dolgega ukaza Docker naletite na napako »neveljavna referenčna oblika«.

V takem primeru je razdelitev ukaza na več vrstic dobra praksa. Metoda razdelitve ukazov bo odvisna od vaše lupine in sistema.

  • Vendar pa za lupino Bash uporabite večvrstični ubežni znak ali poševnico nazaj (\).
  • Za PowerShell lahko uporabite povratni znak (`).
  • Nazadnje, če ste v ukaznem pozivu, lahko uporabite kazalko kot ^

Na primer, v Bashu zaženite ukaz kot:

$ sudo docker build \

-to \

busybox \

sh

V lupini PowerShell lahko zaženete ukaz, kot je prikazano:

$ sudo gradnjo dockerja `

-to `

busybox `

sh

In nazadnje, če ste v ukaznem pozivu, uporabite ukaz, kot je prikazano:

$ sudo docker build ^

-to ^

busybox ^

sh

3. način – pot ${pwd} IN $(pwd).

Drug pogost vzrok za to napako je uporaba spremenljivke ${pwd}. To lahko povzroči konflikt, odvisno od vrste lupine, na kateri izvajate omenjeni ukaz.

V primeru lupine PowerShell morate namesto $(pwd) uporabiti spremenljivko ${pwd}.

Kot lahko ugibate, v primeru Bash uporabite obliko oklepaja namesto vnosa v zavitih oklepajih kot $(pwd).

Zaključek

Ta objava je obravnavala glavne vzroke za »neveljavno referenčno obliko« pri delu z Dockerfile ali ukazi docker. Raziskali smo tudi tri glavne metode, s katerimi lahko odpravite to težavo.