कर्ता के अधिक हाल के संस्करण के साथ, यह कर्ता-रचना और इसके निर्देश के साथ किया जा सकता हैextra_hosts
होस्टनाम मैपिंग जोड़ें। क्लाइंट पैरामीटर के
रूप में समान मानों का उपयोग करें (जो पहले से ही docker 1.8 के लिए उपलब्ध होना चाहिए)।docker run--add-host
extra_hosts:
- "somehost:162.242.195.82"
- "otherhost:50.31.209.229"
संक्षेप में: /etc/hostsइसे चलाते समय अपने कंटेनर को संशोधित करें, इसका निर्माण न करें।
डॉकर 17.x + के साथ, आपने नीचेdocker build --add-host उल्लेख किया है , लेकिन, जैसा कि अंक 34078 और इस उत्तर में टिप्पणी की गई है :
--add-hostबिल्ड के दौरान की सुविधा बिल्ड के दौरान होस्ट को ओवरराइड करने की अनुमति देने के लिए डिज़ाइन की गई है, लेकिन छवि में उस कॉन्फ़िगरेशन को जारी रखने के लिए नहीं।
उल्लिखित समाधान docker- रचना का उल्लेख करते हैं जो मैं ऊपर सुझाव दे रहा था:
- एक आंतरिक डीएनएस चलाएं; आप डिफ़ॉल्ट डीएनएस सर्वर को डेमॉन में उपयोग करने के लिए सेट कर सकते हैं; इस तरह से शुरू किया गया हर कंटेनर डिफ़ॉल्ट रूप से कॉन्फ़िगर किए गए DNS का उपयोग करेगा
- डॉकटर रचना का उपयोग करें और
docker-compose.ymlअपने डेवलपर्स को प्रदान करें।
डॉकटर कम्पोज़ फ़ाइल आपको उन सभी विकल्पों को निर्दिष्ट करने की अनुमति देती है, जिनका उपयोग कंटेनर को शुरू करते समय किया जाना चाहिए, इसलिए डेवलपर्स कंटेनर को केवल उन सभी विकल्पों के साथ शुरू करने के लिए तैयार कर सकते हैं, जिन्हें उन्हें सेट करने की आवश्यकता है।