मेरे पास मेरे सर्वर (ऐप और web_server) पर 2 अलग-अलग कंटेनर चल रहे हैं। वे एक ही नेटवर्क में हैं, क्योंकि मैंने उन्हें एक ही नेटवर्क में रखा है और उस नेटवर्क का ड्राइवर ब्रिज है।
networks:
app-network:
driver: bridge
अब, मेरे पास तीसरा कंटेनर है, जिसे मेरे द्वारा बताए गए 2 कंटेनरों में से एक को जोड़ने की आवश्यकता है। मैं इस तरह तीसरे कंटेनर से पहले कंटेनर से कनेक्ट करने का प्रयास करता हूं: ऐप: 9000, लेकिन यह कहता है कि होस्ट नहीं मिला। मुझे लगता है कि ऐसा इसलिए है क्योंकि वे अलग-अलग नेटवर्क में हैं। इसे काम करने के लिए मुझे क्या करना चाहिए?
1 उत्तर
आपको दोनों कंटेनरों को एक ही नेटवर्क से जोड़ने की आवश्यकता है। या तो एक नया नेटवर्क बनाकर और फिर उसमें शामिल हों या उनमें से एक दूसरे कंटेनर के नेटवर्क से जुड़ जाए।
Docker-compose.yml जहां आपके पास container1
और container2
हैं:
- एक बाहरी नेटवर्क को परिभाषित करें जो
container3
से संबंधित है - इन दो कंटेनरों में से एक को दो बाहरी नेटवर्क में जोड़ें जैसा कि पहले स्निपेट में दिखाया गया है
Docker-compose.yml जहां आपके पास container3
है, वह ब्रिज नेटवर्क के साथ एक सामान्य docker-compose होगा।
तीसरे नेटवर्क को पहले बनाने की अनुमति देने के लिए आपको पहले तीसरा कंटेनर शुरू करना सुनिश्चित करना होगा या आप डॉकर क्ली का उपयोग करके मैन्युअल रूप से तीसरा नेटवर्क बना सकते हैं और परिभाषा को बाहरी में बदल सकते हैं
#docker-compose.yml
container1:
networks:
- first_network
- second_network
networks:
first_network:
driver: bridge
second_network:
external: true
#docker-compose.yml
container3:
networks:
- second_network
networks:
second_network:
driver: bridge