Home
» Windows
»
Kaip ištaisyti klaidą „Docker: netinkamas nuorodos formatas“
Kaip ištaisyti klaidą „Docker: netinkamas nuorodos formatas“
„Docker“ leidžia lengvai kurti, vykdyti ir valdyti konteinerius. Tačiau vykdant arba kuriant vaizdą galite susidurti su klaida „Neteisingas nuorodos formatas“. Daugeliu atvejų tai įvyksta dėl nedidelės formatavimo klaidos vaizdo pavadinime arba žymoje. Pavyzdžiui, klaida gali būti dėl didžiųjų raidžių, specialiųjų simbolių arba trūkstamų reikšmių. Šiame vadove paaiškintos dažniausios šios klaidos priežastys ir kaip ją ištaisyti, kad ji nepasikartotų.
Išsiaiškinkime dažniausiai pasitaikančias klaidos „Neteisingas nuorodos formatas“ priežastis ir kaip jas ištaisyti:
Didžiosios raidės paveikslėlių pavadinimuose
„Docker“ reikalauja, kad vaizdų pavadinimai būtų mažosios raidės. Net viena didžioji raidė gali sukelti formatavimo klaidų. Pavyzdžiui, paleidus šią komandą, bus pateikta klaida:
docker pull NGINX
Archyvų pavadinimai turi būti mažosiomis raidėmis
Norėdami išvengti šios klaidos, prieš vykdydami komandą visada patikrinkite, ar jūsų vaizdo pavadinimas parašytas mažosiomis raidėmis.
docker pull nginx
Naudokite mažąsias raides
Specialus arba neteisingas simbolis
Kartais vartotojai netyčia prideda simbolių, kurių „Docker“ neleidžia. Tai gali būti @ ženklas, tarpai arba iš svetainės ar dokumento nukopijuoti simboliai, kurie atrodo normalūs, bet iš tikrųjų tokie nėra.
Pavyzdžiui, šioje komandoje yra specialusis simbolis @, kuris sukels tokią klaidą:
docker run ubuntu@:latest
Specialiojo simbolio klaida
Norėdami ištaisyti šią klaidą, įsitikinkite, kad komandoje nėra papildomų simbolių ar formatavimo problemų. Galite naudoti paprasto teksto redaktorių, kad patikrintumėte ir išvalytumėte komandą (jei reikia):
docker run ubuntu:latest
Venkite specialiųjų simbolių
Storinė žarna be žymės
Viena iš dažniausių klaidų yra dvitaškis paveikslėlio pavadinimo gale, bet nežymė. Pavyzdžiui, pabandykime šią komandą, kad gautume „Node“:
docker pull node:
„Docker“ tikisi reikšmės po dvitaškio, pvz., „latest“, „18-alpine“ arba bet kurios kitos galiojančios žymės. Jei reikšmė nepateikiama, vaizdo pavadinimas laikomas nepilnu ir sukels klaidą „Invalid Reference Format“:
Storinė žarna be žymės
Norėdami ištaisyti šią klaidą, po dvitaškio pridėkite atitinkamą žymę, kad vaizdo pavadinimas būtų pilnas ir galiojantis:
docker pull node:latest
Pridėti žymas po dvitaškio
Failo kelyje arba tomo prijungimo įrenginyje yra tarpų
Kai įtraukiate failo kelią su tarpais, ypač naudojant tokias parinktis kaip -v (tūrio prijungimas), „Docker“ gali neteisingai interpretuoti kelio dalis kaip atskirus argumentus arba net kaip vaizdo pavadinimo dalį. Dėl to galite susidurti su netikėtais rezultatais, tokiais kaip parodyta žemiau:
docker run -v /home/user/My Folder:/app ubuntu
Tarpai failų pavadinimuose
Norėdami to išvengti, failo kelią visada pridėkite tarpais dvigubose kabutėse, kaip parodyta žemiau:
docker run -v "/home/user/My Folder:/app" ubuntu
Pakeiskite „/home/user/My Folder“ faktiniu keliu į katalogą, kurį norite prijungti prie konteinerio.
Netinkamas kintamųjų naudojimas
Dirbant su „Docker“, komandose įprasta naudoti kintamuosius, ypač nurodant vaizdo versijas. Tačiau jei kintamasis, pvz., $VERSION, nėra teisingai nustatytas, „Docker“ gali susidurti su tokiomis problemomis kaip klaida „Neteisingas nuorodos formatas“.
Pavyzdžiui, paleiskite šią komandą, kad ištrauktumėte „Ubuntu“ iš „Docker Hub“:
docker pull ubuntu:$VERSION
Čia $VERSION turėtų nurodyti norimo išgauti Ubuntu atvaizdo versiją. Tačiau jei jam nepriskirsite vertės, „Docker“ komandą interpretuos kaip „docker pull ubuntu:“. Dėl to atvaizdo pavadinimas bus neteisingas, nes jis baigiasi dvitaškiu ir jame nėra reikiamos versijos žymos.
Neteisingas kintamųjų naudojimas
Norėdami to išvengti, įsitikinkite, kad visi komandoje naudojami kintamieji yra tinkamai apibrėžti. „Linux“ sistemoje kintamąjį galite nustatyti naudodami šią sintaksę.
$VERSION=latest
Tada ištraukite nurodytą versiją vykdydami šią komandą.
docker pull ubuntu:$VERSION
„Windows CMD“ sistemoje turite naudoti raktinį žodį „set“, kad apibrėžtumėte kintamąjį (pvz., „version“), tada naudokite sintaksę „%VARIABLE%“, kad galėtumėte į jį nurodyti komandose, tokiose kaip „docker pull“.
set VERSION=latest
docker pull ubuntu:%VERSION%
Čia $VERSION turi naujausią reikšmę, todėl „Docker“ be jokių problemų nuskaito ubuntu:latest atvaizdą . Taip pat galite priskirti konkrečią versiją, pvz., 18.04, jei reikia.
Tinkamai apibrėžkite kintamuosius
Kopijavimo ir įklijavimo problema
Kartais vartotojai kopijuoja komandas iš internetinių vadovėlių ar dokumentacijos. Šiose nukopijuotose komandose gali būti paslėptų simbolių, tokių kaip nematomi tarpai, ne angliški skyrybos ženklai arba specialios kabutės. Šie simboliai gali nepastebimai sugadinti jūsų „Docker“ komandas.
Kad to išvengtumėte, geriau, kai įmanoma, komandą įvesti pačiam arba pirmiausia įklijuoti ją į paprasto teksto rengyklę, kad pašalintumėte nepageidaujamą formatavimą.
Dabar, kai žinote dažniausias „Docker“ klaidos „Invalid Reference Format“ priežastis ir kaip ją ištaisyti, ateityje galėsite išvengti šios problemos. Nuo didžiųjų raidžių tikrinimo iki teisingo kintamųjų nustatymo – šie paprasti patarimai gali sutaupyti daug laiko ir išvengti nusivylimo. Jei esate pasirengę toliau tyrinėti, galbūt norėsite sužinoti, kaip pažymėti ir įkelti pasirinktinius „Docker“ atvaizdus į registrą arba kaip išvalyti nenaudojamus atvaizdus, kad sistema būtų švari.