2016-02-02 14 views
6

मेरा मानना ​​है कि यह आसान सवाल है लेकिन मुझे अभी भी डॉकर-रचना दस्तावेज से नहीं मिलता है। लिंक और बाहरी_लिंक के बीच क्या अंतर है?डॉकर-लिखें लिंक बनाम बाहरी_लिंक्स

मुझे बाहरी_लिंक्स पसंद हैं क्योंकि मैं कोर डॉकर-कंपोज़ करना चाहता हूं और मैं कोर लिंक को ओवरराइड किए बिना इसे विस्तारित करना चाहता हूं।

मेरे पास वास्तव में क्या है, मैं लॉगस्टैश सेट करने की कोशिश कर रहा हूं जो लोचदार पर निर्भर करता है। Elasticsearch कोर डॉकर-कंपोज़ में है और लॉगस्टैश निर्भर करता है। इसलिए मुझे संदर्भित डॉकर-कंपोज़ में लोचदार खोज को परिभाषित करना पड़ा क्योंकि लॉगस्टैश को इसे एक लिंक के रूप में चाहिए। लेकिन Elasticsearch पहले से ही अपने स्वयं के लिंक है जो मैं उन्हें निर्भर में दोहराना नहीं चाहता।

क्या मैं लिंक के बजाय बाहरी_लिंक के साथ ऐसा कर सकता हूं?

मुझे पता है कि लिंक यह सुनिश्चित करेंगे कि लिंक जोड़ने से पहले लिंक ऊपर है, क्या बाह्य_लिंक वही करेगा?

किसी भी मदद की सराहना की जाती है। धन्यवाद।

उत्तर

12

उपयोग links जब आप एक ही डोकर-compose.yml भीतर एक साथ कंटेनर लिंक करना चाहते हैं। आपको केवल सेवा नाम पर लिंक सेट करना है। इस तरह:

--- 
elasticsearch: 
    image: elasticsearch:latest 
    command: elasticsearch -Des.network.host=0.0.0.0 
    ports: 
    - "9200:9200" 

logstash: 
    image: logstash:latest 
    command: logstash -f logstash.conf 
    ports: 
    - "5000:5000" 
    links: 
    - elasticsearch 

यदि आप किसी अन्य कंटेनर है कि एक ही डोकर-compose.yml में शामिल नहीं किया गया था या एक अलग ढंग से शुरू कर दिया तो आप उपयोग कर सकते हैं करने के लिए डोकर-compose.yml के अंदर एक कंटेनर लिंक करना चाहते हैं external_links और आप लिंक को कंटेनर के नाम पर सेट करेंगे। इस तरह:

--- 
logstash: 
    image: logstash:latest 
    command: logstash -f logstash.conf 
    ports: 
    - "5000:5000" 
    external_links: 
    - my_elasticsearch_container 

मैं पहली बार जिस तरह से सुझाव है कि जब तक किसी कारण से आपके उपयोग के मामले की आवश्यकता है कि वे एक ही डोकर-compose.yml

+0

यह आधिकारिक दस्तावेज़ में रूप में अच्छी तरह से जोड़ने के लिए लायक हो सकता है: https://docs.docker.com/compose/compose-file/#links और https://docs.docker.com/compose/compose-file/#external-links – dnephin

0

मुझे लगता है कि external_linkdocker-compose up कमांड में links जैसा ही नहीं करेगा। बूट कंटेनर के लिए

links प्रतीक्षा करता है अप करने के लिए और आईपी पते जो etc/hosts फ़ाइल में प्रयोग किया जाता है मिलता है, इसलिए external_link पहले से ही आईपी: होस्ट नाम मान नाम डोकर-लिखें फ़ाइल में वर्णन किया।

इसके अलावा links will be deprecated

-2

यहाँ में नहीं हो सकता डोकर-लिखें परियोजना के लिए एक लिंक है कि Elasticsearch, Logstash, और किबाना का उपयोग करता है। आपको लगता है कि मैं लिंक का उपयोग कर रहा हूँ देखेंगे:

https://github.com/bahaaldine/elasticsearch-paris-accidentology-demo

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