2014-11-11 15 views
11

मैं डॉकर के लिए नया हूं और यह समझने की कोशिश कर रहा हूं कि डॉकर पैरेंट होस्ट आईपी को कंटेनर होस्ट फ़ाइल में डालने का सबसे अच्छा तरीका क्या है।कंटेनर होस्ट फ़ाइल में डॉकर पैरेंट होस्ट आईपी डालें

मैं अपने Dockerfile

RUN /sbin/ip route|awk '/default/ { print $3,"\tdockerhost" }' >> /etc/hosts

में निम्न आदेश का उपयोग कर रहा है लेकिन कभी कभी आईपी तो परिवर्तन प्राप्त मेजबान अपने गैर प्रासंगिक अब ...

है कि, अगर आप से पूछना करने के लिए कारण स्वयं, यह है कि मुझे एक और 2 डॉकर्स कंटेनर तक पहुंचने की आवश्यकता है (और लिंक इस सुविधा की पेशकश नहीं करते हैं)।

धन्यवाद,

+0

मुझे डॉकर होस्ट का आईपी/etc/hosts फ़ाइल में होना चाहिए। –

+2

समस्या अजीब नहीं है, यह गलत समय पर आदेश चलाने के साथ है। संकलन-समय बनाम रन-टाइम की तरह। – Bryan

+0

लिंकिंग इसे प्राप्त करने का तरीका है, इसका मतलब अन्य डॉकर कंटेनर तक पहुंच देना है। अपने उपयोग के मामले को बेहतर तरीके से समझाएं और लिंकिंग आपके लिए कैसे काम नहीं करती है। – Motin

उत्तर

12

--add-host विकल्प इस के लिए किया जाता है। तो, अपने docker run आदेश में, कुछ ऐसा कार्य करें:

docker run --add-host dockerhost:`/sbin/ip route|awk '/default/ { print $3}'` [my container] 
+0

क्या आप सुनिश्चित हैं कि मेजबान आईपी बदलते समय रीबूट के बाद भी तर्क वैध होगा? ऐसा लगता है कि यह केवल सृजन के लिए मान्य है ... –

+0

आह, आपका मतलब है कि अगर आप डॉकर को रीबूट पर अपने कंटेनर को पुनरारंभ करते हैं? हाँ, यह एक समस्या होगी। आप चीजों को अलग-अलग पुनरारंभ कर सकते हैं - https://docs.docker.com/articles/host_integration/ देखें। यदि आप किसी पते को हल करने के लिए गतिशील योजना चाहते हैं, तो शायद DNS का उपयोग करें? – Bryan

+1

आदेश '/ sbin/ip path | awk'/default/{print $ 3} 'डॉकर होस्टर में बजाए, डॉकर होस्टर में चलता है, जो गलत आईपी परिणाम उत्पन्न करता है। – Santiago

0

--add-host विकल्प है जब आप बनाते हैं/अपने कंटेनर चलाने लेकिन जब से /sbin/ip आदेश की तरह OSX ऑपरेटिंग सिस्टम में उपलब्ध नहीं है, हम एक अधिक सामान्य उपयोग कर सकते हैं इस्तेमाल किया जा सकता समाधान:
docker run --add-host=dockerhost:`docker network inspect \ --format='{{range .IPAM.Config}}{{.Gateway}}{{end}}' bridge` [IMAGE]

संबंधित मुद्दे