docker push
करते समय या कोई छवि खींचते समय, डॉकर निर्धारित करता है कि छवि नाम में कोई रजिस्ट्री सर्वर है या यदि यह डिफ़ॉल्ट रजिस्ट्री (जैसे डॉकर हब) पर पथ/उपयोगकर्ता नाम है?डॉकर छवि नाम कैसे पार्स किए जाते हैं?
मैं दिखाई दे रही है 1.1 image spec से निम्नलिखित:
टैग
एक टैग किसी एक छवि आईडी के लिए एक वर्णनात्मक, उपयोगकर्ता के दिए गए नाम मैप करने के लिए कार्य करता है। टैग मान वर्णों के सेट तक सीमित हैं [ए-जेए-जेडएक्स -9]।
भंडार
एक आम उपसर्ग के अंतर्गत वर्गीकृत टैग का एक संग्रह (:) पहले नाम घटक । उदाहरण के लिए, नाम my-app नाम से चित्रित एक छवि में: 3.1.4, मेरा-ऐप नाम का रिपोजिटरी घटक है। एक रिपोजिटरी नाम स्लैश-पृथक नाम घटकों से बना है, वैकल्पिक रूप से DNS होस्टनाम द्वारा उपसर्ग किया गया है। होस्टनाम को मानक DNS नियमों का पालन करना होगा, लेकिन इसमें _ वर्ण नहीं हो सकते हैं। यदि कोई होस्टनाम मौजूद है, तो यह वैकल्पिक रूप से प्रारूप में पोर्ट नंबर के बाद हो सकता है: 8080। नाम घटकों में लोअरकेस वर्ण, अंक और विभाजक हो सकते हैं। विभाजक को एक अवधि, एक या दो अंडरस्कोर, या एक या अधिक डैश के रूप में परिभाषित किया गया है। एक नाम घटक एक विभाजक के साथ शुरू या समाप्त नहीं हो सकता है।
DNS होस्ट नाम के लिए, क्या इसे डॉट्स के साथ पूरी तरह योग्यता प्राप्त करने की आवश्यकता है, या "मेरा-स्थानीय-सर्वर" एक वैध रजिस्ट्री होस्टनाम है? नाम घटकों के लिए, मैं अवधि को वैध मान रहा हूं, जिसका अर्थ है "team.user/appserver" मान्य छवि नाम है। यदि रजिस्ट्री सर्वर पोर्ट 80 पर चल रहा है, और इसलिए छवि नाम में होस्टनाम पर कोई पोर्ट नंबर आवश्यक नहीं है, ऐसा लगता है कि होस्टनाम और रजिस्ट्री सर्वर पर पथ के बीच अस्पष्टता होगी। मैं उत्सुक हूं कि डॉकर उस अस्पष्टता को कैसे हल करता है।
हैं के अनुसार छवि विशिष्ट जानकारी टैग 127 वर्ण तक सीमित है। तो मुझे लगता है कि टैग रेगेक्स होना चाहिए /[\w][\w.- ]{0,126}/ –
रेगेक्स लंबाई 127 वर्णों में 0 है, इसलिए मुझे लगता है कि यह सही है। यदि नहीं, तो यह बदलने के लिए पीआर होगा: https://github.com/docker/distribution/blob/master/reference/regexp.go#L37 – BMitch
यहां जिस तरह से मुझे लगता है .... रेगेक्स शुरू होता है [/w ][\w.- ]{0,127} और कोई नहीं है के बीच [ ]। तो इसका मतलब है ए/डब्ल्यू से मेल खाता है और फिर 127 \ डब्ल्यू या डॉट या हाइफ़न से मेल खाता है। कोशिश कर रहा है /^([\w][\w.- ]{0,4})$/.match('ssss- ') रुबी के आईआरबी में पुष्टि करता है कि 5 पात्रों का उपभोग किया जाता है ... –