Docker Engine daemon.json: निजी ECR और S3 के लिए प्रॉक्सी बायपास
VPC एंडपॉइंट के ज़रिए निजी ECR इमेज पुल के लिए HTTP प्रॉक्सी बायपास करते समय S3 लेयर डाउनलोड का हिसाब रखें।
निजी ECR रजिस्ट्री से सफल कनेक्शन इमेज पुल पूरा नहीं करता। ECR मैनिफ़ेस्ट देता है, जबकि Amazon S3 इमेज की लेयर संग्रहीत करता है। इसलिए केवल रजिस्ट्री को कवर करने वाला प्रॉक्सी बायपास लेयर डाउनलोड को दूसरे मार्ग पर छोड़ सकता है।
VPC एंडपॉइंट के ज़रिए निजी पहुँच के लिए दोनों मार्ग जाँचें:
- ECR इंटरफ़ेस एंडपॉइंट और उसका निजी DNS कॉन्फ़िगरेशन।
- S3 एंडपॉइंट, उससे जुड़ी रूट टेबल और वह नीति जो ECR की लेयर बकेट तक पहुँच की अनुमति देती है।
फिर संबंधित बायपास नाम उस प्रक्रिया पर रखें जो पुल करती है। मौजूदा daemon.json प्रॉक्सी कॉन्फ़िगरेशन वाले नेटिव Docker Engine के लिए us-east-2 का एक उदाहरण कॉन्फ़िगरेशन यह है:
{
"proxies": {
"http-proxy": "http://proxy.example:8080",
"https-proxy": "http://proxy.example:8080",
"no-proxy": "123456789012.dkr.ecr.us-east-2.amazonaws.com,prod-us-east-2-starport-layer-bucket.s3.us-east-2.amazonaws.com"
}
}
इच्छित प्रविष्टियों को daemon की अन्य सेटिंग्स और मौजूदा बायपास सूची के साथ मिलाएँ। यदि अन्य सार्वजनिक रजिस्ट्री डाउनलोड किसी सार्वजनिक मध्यस्थ का उपयोग कर सकते हैं, तो HTTP प्रॉक्सी सूची बिना खाते वाले प्रॉक्सी URL के लिए उम्मीदवार देती है; निजी ECR और S3 बायपास बनाए रखें। खाता, क्षेत्र और लेयर-डाउनलोड होस्टनेम को उन नामों से बदलें जो पुल वास्तव में उपयोग करता है। S3 के नामकरण रूप और एंडपॉइंट कॉन्फ़िगरेशन भिन्न हो सकते हैं; यह उदाहरण AWS एंडपॉइंट की पूरी सूची नहीं है। daemon कॉन्फ़िगरेशन लागू करने के लिए इच्छित daemon पुनःआरंभ आवश्यक है। Docker Desktop अपनी प्रॉक्सी सेटिंग्स का उपयोग करता है।
बायपास सीधा मार्ग चुनता है। यह गुम S3 एंडपॉइंट नहीं बना सकता, रूट टेबल नहीं जोड़ सकता, बकेट तक पहुँच नहीं दे सकता और निजी DNS ठीक नहीं कर सकता। बायपास को व्यापक AWS डोमेन तक बढ़ाने से पहले उन निर्भरताओं की पुष्टि करें।
Docker क्लाइंट की कंटेनर-प्रॉक्सी सेटिंग्स daemon के इमेज डाउनलोड कॉन्फ़िगर नहीं करतीं। इसी तरह, ECR लॉगिन क्रेडेंशियल प्राप्त करने वाले AWS CLI कमांड का अपना प्रॉक्सी कॉन्फ़िगरेशन होता है; यदि उस अलग अनुरोध को भी निजी पहुँच चाहिए तो उसका API गंतव्य शामिल करें।