2015-04-13 10 views
9

मैं कुछ आईपी पते और पोर्ट को सुनने के एक डोकर डेमॉन होस्ट मशीन में शुरू किया है, 10.10.10.10 कहते हैं, और बंदरगाह 1234, फिर मैंमेजबान मशीन में एक डॉकर कंटेनर के अंदर से सेवा से कैसे जुड़ें?

sudo docker -H 10.10.10.10:1234 centos /bin/bash 

इस बीच लागू द्वारा एक कंटेनर शुरू, मैं एक वेब सेवा है पोर्ट 8080 पर चल रहे मेजबान मशीन पर runnig। फिर कंटेनर के अंदर से, मैं इस सर्वर से कनेक्ट नहीं कर सकता। मैं

curl http://10.10.10.10:8080 

कोशिश की, लेकिन एक त्रुटि संदेश मिला:

curl: (7) couldn't connect to host 

लेकिन मैं अन्य मशीनों में सर्वर तक पहुँच सकते हैं, ऐसा लगता है http://10.10.10.11:8080 की तरह है कि डोकर कंटेनर अपने स्वयं के मेजबान मशीन में सेवा का उपयोग नहीं कर सकते? क्या इसको ठीक करने का कोई तरीका है? धन्यवाद

+0

देखें http://stackoverflow.com/questions/27556301/connect-to-local-mysql-server-through-docker/27564532#27564532 – Bryan

उत्तर

6

उस पर issue 1143 और might be one day a --link-host option में चर्चा हुई थी।

इस बीच में, ब्लॉग पोस्ट "Accessing the Docker Host Server Within a Container" कुछ विकल्प को सूचीबद्ध करता है:

  • गेटवे दृष्टिकोण: netstat -nr | grep '^0\.0\.0\.0' | awk '{print $2}'
  • आईपी दृष्टिकोण: boot2docker आईपी पते 192.168.59.103 है।

वहाँ मेजबान के आईपी पते (AFAIK) आत्मनिरीक्षण करने के लिए कोई रास्ता नहीं है यद्यपि आप एक वातावरण चर के माध्यम से इस पारित कर सकते हैं:

[email protected]:~$ docker run -i -t -e DOCKER_HOST=192.168.59.103 ubuntu /bin/bash 
[email protected]:/# env 
HOSTNAME=07561b0607f4 
DOCKER_HOST=192.168.59.103 

आप में "Network Configuration" अन्य विकल्प हैं के साथ मेजबान मशीन पर वर्चुअल इंटरफ़ेस docker0 नाम दिया गया।

+0

धन्यवाद, यह मेरे लिए काम करता है :) –

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