Docker Invalide Reference Format

Docker Invalide Reference Format



Dockeri piltide või Dockerfile'iga töötades võib ilmneda viga 'vale viitevorming'.

Sellest õpetusest õpime, mida see viga tähendab, miks see ilmneb ja kuidas saate seda Dockeri kasutamisel lahendada.

Mis on Dockeris pildiviide?

Dockeris viitab pildiviide meetodile konkreetse Dockeri kujutise tuvastamiseks ja asukoha leidmiseks Dockeri registris (Docker Hub) või kohalikus Dockeri hostis.







Vaikimisi koosneb pildiviide kahest põhikomponendist:



Hoidla – esimene osa määratleb sihtkujutise hoidla. See on Dockeri pildi tipptasemel organisatsiooniüksus, mida kasutatakse peamiselt organisatsiooni või pilti haldava isiku esindamiseks. Näiteks võite leida pildi nimega Microsoft/SQL-server. Sel juhul esindab esimene osa mainet hoidvat organisatsiooni.



Silt – pildi teine ​​osa on silt, mis on seotud hoidlas oleva pildi konkreetse versiooni või variandiga. Pildisildid võivad tähistada sama pildi erinevaid versioone, erinevaid väljalaseid või erinevat ühilduvust. Näiteks pildil nginx:latest, kus uusim silt viitab Nginxi pildi uusimale versioonile.





Kujutise määramisel Dockerfile'i või Dockeri käsus peab pildi nimi järgima järgmisi nimetamisreegleid:

  • Hoidla nimi peaks olema väiketähtedega.
  • Hoidla võib sisaldada ka tähti, numbreid, sidekriipse (-), allkriipse (_) või edasisuunas kaldkriipse (/), mis näitavad registris organisatsiooni või rühmitamist.
  • Pildi nimes ei tohi olla tühimärke (tühikuid ega tabeldusmärke).

Dockeri vigane viitevorming

Kui saate Dockerfile'i või Dockeri käsu käivitamisel veateate 'kehtetu viitevorming', tähendab see, et teie nimi ei ole ülaltoodud reeglitest kinni pidanud.



Näide on selline:

$ dokk tõmba BusyBox

Kui käivitame ülaltoodud käsu, tagastab see tõrketeate, nagu näidatud:

kehtetu viide vorming: hoidla nimi peab olema väiketähtedega

Sel juhul ütleb see meile, et pildi nime vorming on vale, kuna pildi nimi peaks alati olema väiketähtedega.

Kuidas parandada Dockeri kehtetu viitevormingu viga

Nagu võite arvata, on esimene meetod kujutise viitevormingu õigsuse tagamine. See hõlmab pildi nime kehtivuse kontrollimist.

Näiteks ülaltoodud käsus saame vea parandada, määrates pildi nime järgmiselt:

$ sudo docker pull busybox: uusim

Sel juhul peaks käsk tõmbama hõivatud pildi uusima versiooni.

2. meetod – jagage pikad Dockeri käsud

Mõnel muul juhul võite pika Dockeri käsu käivitamisel ilmneda viga 'kehtetu viitevormingus'.

Sellisel juhul on hea tava jagada käsk mitmeks reaks. Käskude jagamise meetod sõltub teie kestast ja süsteemist.

  • Bash-shelli puhul kasutage aga mitmerealist paomärki või kaldkriipsu (\).
  • PowerShelli puhul saate kasutada tagasilöögimärki (`).
  • Lõpuks, kui olete käsureal, saate kasutada märki caret kui ^

Näiteks Bashis käivitage käsk järgmiselt:

$ sudo dokki ehitamine \

- see \

kinnikast \

sh

PowerShellis saate käivitada käsu nagu näidatud:

$ sudo dokkeri ehitamine `

- see `

kinnikast `

sh

Ja lõpuks, kui olete käsureal, kasutage käsku nagu näidatud:

$ sudo dokkeri ehitamine ^

- see ^

kinnikast ^

sh

3. meetod – ${pwd} JA $(pwd) tee

Selle vea teine ​​levinud põhjus on muutuja ${pwd} kasutamine. See võib põhjustada konflikti, olenevalt kesta tüübist, millel nimetatud käsku täidate.

PowerShelli puhul peate $(pwd) asemel kasutama muutujat ${pwd}.

Nagu võite arvata, kasutage Bashi puhul sulgude vormingut, mitte kõverate sulgudega sisendit ($(pwd).

Järeldus

Selles postituses käsitleti Dockerfile'i või dockeri käskudega töötamisel kehtetu viitevormingu peamisi põhjuseid. Uurisime ka kolme peamist meetodit, mida saate selle probleemi lahendamiseks kasutada.