Docker
कंटेनर कनेक्ट कर रहा है
खोज…
पैरामीटर
पैरामीटर | विवरण |
---|---|
tty:true | Docker-compose.yml में, tty: true फ्लैग कंटेनर के sh कमांड को इनपुट के इंतजार में रखता है। |
टिप्पणियों
host
और bridge
नेटवर्क ड्राइवर एक ही डॉकटर होस्ट पर कंटेनरों को जोड़ने में सक्षम हैं। कंटेनरों को एक मशीन से आगे संवाद करने की अनुमति देने के लिए, एक ओवरले नेटवर्क बनाएं। नेटवर्क बनाने के चरण इस बात पर निर्भर करते हैं कि आपके डॉक होस्ट कैसे प्रबंधित किए जाते हैं।
- झुंड मोड:
docker network create --driver overlay
- docker / swarm : बाहरी कुंजी-मूल्य संग्रह की आवश्यकता होती है
डॉकर नेटवर्क
एक ही docker नेटवर्क के कंटेनरों में एक्सपोज़्ड पोर्ट्स की पहुँच होती है।
docker network create sample
docker run --net sample --name keys consul agent -server -client=0.0.0.0 -bootstrap
कॉन्सल के डॉकरीफाइल 8500
, 8600
और कई और बंदरगाहों को उजागर करता है। एक ही नेटवर्क में एक और कंटेनर चलाने के लिए:
docker run --net sample -ti alpine sh
/ # wget -qO- keys:8500/v1/catalog/nodes
यहां कांस कंटेनर को keys
से हल किया गया keys
, जो पहले कमांड में दिया गया है। डॉकटर इस नेटवर्क पर डीएनएस रिज़ॉल्यूशन प्रदान करता है , कंटेनर को उनके --name
द्वारा खोजने के लिए।
डोकर-लिखें
नेटवर्क एक कंपोज़ फ़ाइल (v2) में निर्दिष्ट किया जा सकता है। डिफ़ॉल्ट रूप से सभी कंटेनर एक साझा नेटवर्क में हैं।
इस फ़ाइल से प्रारंभ करें: example/docker-compose.yml
:
version: '2'
services:
keys:
image: consul
command: agent -server -client=0.0.0.0 -bootstrap
test:
image: alpine
tty: true
command: sh
इस स्टैक को docker-compose up -d
साथ शुरू करने से पैरेंट डायरेक्टरी के नाम से एक नेटवर्क बनेगा, इस मामले में example_default
। docker network ls
जांच करें
> docker network ls
NETWORK ID NAME DRIVER SCOPE
719eafa8690b example_default bridge local
कंटेनर को हल करने और संचार करने के लिए अल्पाइन कंटेनर से कनेक्ट करें:
> docker exec -ti example_test_1 sh
/ # nslookup keys
...
/ # wget -qO- keys:8500/v1/kv/?recurse
...
एक रचना फ़ाइल में एक networks:
हो सकता है networks:
नेटवर्क नाम, ड्राइवर और अन्य विकल्पों को docker नेटवर्क कमांड से निर्दिष्ट करने के लिए शीर्ष स्तर अनुभाग।
कंटेनर लिंकिंग
--link
तर्क और link:
अनुभाग --link
रचना अन्य कंटेनरों के लिए उपनाम बनाते हैं।
docker network create sample
docker run -d --net sample --name redis redis
लिंक के साथ या तो मूल नाम या मानचित्रण रेडिस कंटेनर को हल करेगा।
> docker run --net sample --link redis:cache -ti python:alpine sh -c "pip install redis && python"
>>> import redis
>>> r = redis.StrictRedis(host='cache')
>>> r.set('key', 'value')
True
डॉकटर 1.10.0
कंटेनर को जोड़ने से पहले सेटअप नेटवर्क कनेक्टिविटी - डॉक नेटवर्क द्वारा प्रदान किया गया व्यवहार। बाद के संस्करणों में लिंक केवल डिफ़ॉल्ट ब्रिज नेटवर्क पर legacy
प्रभाव प्रदान करते हैं।