ఈ ట్యుటోరియల్లో, ఈ లోపం అంటే ఏమిటి, అది ఎందుకు సంభవిస్తుంది మరియు మీ డాకర్ వినియోగంలో మీరు దాన్ని ఎలా పరిష్కరించవచ్చో మేము నేర్చుకుంటాము.
డాకర్లో ఇమేజ్ రిఫరెన్స్ అంటే ఏమిటి?
డాకర్లో, ఇమేజ్ రిఫరెన్స్ అనేది డాకర్ రిజిస్ట్రీ (డాకర్ హబ్) లేదా స్థానిక డాకర్ హోస్ట్లో నిర్దిష్ట డాకర్ ఇమేజ్ని గుర్తించడం మరియు గుర్తించడం అనే పద్ధతిని సూచిస్తుంది.
డిఫాల్ట్గా, ఇమేజ్ రిఫరెన్స్ రెండు ప్రధాన భాగాలను కలిగి ఉంటుంది:
రిపోజిటరీ - మొదటి భాగం లక్ష్య చిత్రం కోసం రిపోజిటరీని నిర్వచిస్తుంది. ఇది డాకర్ ఇమేజ్ కోసం అత్యున్నత స్థాయి సంస్థాగత యూనిట్, ఇది ప్రధానంగా సంస్థ లేదా చిత్రాన్ని నిర్వహించే వ్యక్తిని సూచించడానికి ఉపయోగించబడుతుంది. ఉదాహరణకు, మీరు Microsoft/SQL-server పేరుతో ఒక చిత్రాన్ని కనుగొనవచ్చు. ఈ సందర్భంలో, మొదటి భాగం చిత్రాన్ని నిర్వహించే సంస్థను సూచిస్తుంది.
ట్యాగ్ - చిత్రం యొక్క రెండవ భాగం రిపోజిటరీలోని చిత్రం యొక్క నిర్దిష్ట వెర్షన్ లేదా వేరియంట్తో అనుబంధించబడిన లేబుల్. చిత్రం ట్యాగ్లు ఒకే చిత్రం యొక్క విభిన్న సంస్కరణలు, విభిన్న విడుదలలు లేదా విభిన్న అనుకూలతను సూచించగలవు. ఉదాహరణకు, nginx చిత్రంలో: తాజా ట్యాగ్ Nginx చిత్రం యొక్క తాజా సంస్కరణను సూచిస్తుంది.
చిత్రాన్ని డాకర్ఫైల్ లేదా డాకర్ కమాండ్లో పేర్కొన్నప్పుడు, చిత్రం పేరు తప్పనిసరిగా క్రింది నామకరణ నియమాలను అనుసరించాలి:
- రిపోజిటరీ పేరు చిన్న అక్షరంగా ఉండాలి.
- రిజిస్ట్రీలో సంస్థ లేదా సమూహాన్ని సూచించడానికి రిపోజిటరీ అక్షరాలు, సంఖ్యలు, హైఫన్లు (-), అండర్స్కోర్లు (_) లేదా ఫార్వర్డ్ స్లాష్లను (/) కూడా కలిగి ఉంటుంది.
- చిత్రం పేరులో వైట్స్పేస్ అక్షరాలు (స్పేస్లు లేదా ట్యాబ్లు) ఉండకూడదు.
డాకర్ చెల్లని సూచన ఆకృతి
మీరు Dockerfile లేదా Docker కమాండ్ను అమలు చేస్తున్నప్పుడు 'చెల్లని సూచన ఫార్మాట్' లోపం వచ్చినప్పుడు, మీ పేరు పై నియమాలకు కట్టుబడి లేదని అర్థం.
చూపిన విధంగా ఒక ఉదాహరణ:
$ docker లాగండి BusyBoxమేము పై ఆదేశాన్ని అమలు చేస్తే, అది చూపిన విధంగా లోపాన్ని అందిస్తుంది:
చెల్లదు సూచన ఫార్మాట్: రిపోజిటరీ పేరు తప్పనిసరిగా చిన్న అక్షరంగా ఉండాలి
ఈ సందర్భంలో, చిత్రం పేరు ఎల్లప్పుడూ చిన్న అక్షరంగా ఉండాలి కాబట్టి, చిత్రం పేరు ఫార్మాట్ తప్పు అని ఇది మాకు చెబుతుంది.
డాకర్ చెల్లని సూచన ఫార్మాట్ లోపాన్ని ఎలా పరిష్కరించాలి
మీరు ఊహించినట్లుగా, చిత్ర సూచన ఆకృతి సరైనదని నిర్ధారించడం మొదటి పద్ధతి. చిత్రం పేరు చెల్లుబాటులో ఉందని ధృవీకరించడం కూడా ఇందులో ఉంది.
ఉదాహరణకు, పై ఆదేశంలో, చిత్రం పేరును ఇలా పేర్కొనడం ద్వారా మనం లోపాన్ని పరిష్కరించవచ్చు:
$ సుడో డాకర్ పుల్ బిజీబాక్స్: తాజా
ఈ సందర్భంలో, ఆదేశం Busybox చిత్రం యొక్క తాజా సంస్కరణను లాగాలి.
విధానం 2 - లాంగ్ డాకర్ ఆదేశాలను విభజించండి
కొన్ని ఇతర సందర్భాల్లో, మీరు సుదీర్ఘ డాకర్ ఆదేశాన్ని అమలు చేస్తున్నప్పుడు 'చెల్లని సూచన ఫార్మాట్' లోపాన్ని ఎదుర్కోవచ్చు.
అటువంటి సందర్భంలో, ఆదేశాన్ని బహుళ పంక్తులుగా విభజించడం మంచి పద్ధతి. కమాండ్ విభజన పద్ధతి మీ షెల్ మరియు సిస్టమ్పై ఆధారపడి ఉంటుంది.
- అయితే, బాష్ షెల్ కోసం, మల్టీలైన్ ఎస్కేప్ క్యారెక్టర్ లేదా బ్యాక్స్లాష్ (\)ని ఉపయోగించండి.
- PowerShell కోసం, మీరు బ్యాక్టిక్ అక్షరాన్ని (`) ఉపయోగించవచ్చు.
- చివరగా, మీరు కమాండ్ ప్రాంప్ట్లో ఉన్నట్లయితే, మీరు కేరెట్ క్యారెక్టర్ను ^గా ఉపయోగించవచ్చు
ఉదాహరణకు, బాష్లో, ఆదేశాన్ని ఇలా అమలు చేయండి:
$ సుడో డాకర్ బిల్డ్ \-అది \
బిజీ బాక్స్ \
sh
PowerShellలో, మీరు చూపిన విధంగా ఆదేశాన్ని అమలు చేయవచ్చు:
$ సుడో డాకర్ బిల్డ్ `-అది `
బిజీ బాక్స్ `
sh
చివరగా, మీరు కమాండ్ ప్రాంప్ట్లో ఉన్నట్లయితే, చూపిన విధంగా ఆదేశాన్ని ఉపయోగించండి:
$ సుడో డాకర్ బిల్డ్ ^-అది ^
బిజీబాక్స్ ^
sh
విధానం 3 – ${pwd} మరియు $(pwd) మార్గం
ఈ లోపం యొక్క మరొక సాధారణ కారణం ${pwd} వేరియబుల్ని ఉపయోగిస్తున్నప్పుడు. మీరు చెప్పిన ఆదేశాన్ని అమలు చేస్తున్న షెల్ రకాన్ని బట్టి ఇది వైరుధ్యాన్ని కలిగిస్తుంది.
PowerShell విషయంలో, మీరు $(pwd)కి బదులుగా ${pwd} వేరియబుల్ని ఉపయోగించాలి.
మీరు ఊహించినట్లుగా, బాష్ విషయంలో, $(pwd) వలె కర్లీ-బ్రేస్డ్ ఇన్పుట్కు బదులుగా కుండలీకరణ ఆకృతిని ఉపయోగించండి.
ముగింపు
ఈ పోస్ట్ డాకర్ఫైల్ లేదా డాకర్ ఆదేశాలతో పని చేస్తున్నప్పుడు 'చెల్లని రిఫరెన్స్ ఫార్మాట్' యొక్క ప్రధాన కారణాలను చర్చించింది. ఈ సమస్యను పరిష్కరించడానికి మీరు ఉపయోగించే మూడు ప్రధాన పద్ధతులను కూడా మేము అన్వేషించాము.