MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

डॉकर में स्प्रिंगबूट डॉकर में मोंगो से कनेक्ट नहीं हो रहा है

संपादित करें:

मैंने कभी स्प्रिंग-बूट विकास नहीं किया है, लेकिन आप जो त्रुटि कह रहे हैं वह प्रदर्शित किया जा रहा है वह मोंगो मुद्दे से बहुत अच्छी तरह से असंबंधित हो सकता है। हालांकि, यहां एक स्पष्टीकरण दिया गया है कि आपका मोंगो-कनेक्शन क्यों विफल हो रहा है:

docker-compose एक वर्चुअल नेटवर्क बनाता है यदि कोई फ़ाइल में निर्दिष्ट नहीं किया गया है (जैसे आपके मामले में)।

आपके सभी एप्लिकेशन इस नेटवर्क के अंदर चलते हैं, एक दूसरे से पूरी तरह से अलग। जैसे, localhost आपके स्प्रिंग-बूट कंटेनर में वास्तव में स्वयं को संदर्भित करता है। मतलब आपका स्प्रिंग-बूट एप्लिकेशन mongo . की अपेक्षा कर रहा है उदाहरण इसके कंटेनर के अंदर चल रहा है (जो नहीं है, यह एक अलग कंटेनर में है)।

यह तब ठीक होता जब आपके लैपटॉप के नेटवर्क पर डेटाबेस और एप्लिकेशन दोनों चल रहे होते। लेकिन जैसा कि बताया गया है, वे अब docker-compose . में चल रहे हैं नेटवर्क, पूर्ण अलगाव में।

हालांकि, docker-compose वास्तव में चतुर है! यह आपके प्रत्येक कंटेनर के लिए एक DNS बनाता है जो सेवा-नाम का उपयोग करता है (आपके मामले में mongo और spring ) आपके docker-compose . में निर्दिष्ट है नेटवर्क के अंदर कंटेनरों तक आसान पहुंच की अनुमति देने के लिए फ़ाइल।

तो, आपको spring.data.mongodb.uri=mongodb://localhost:27017/db बदलने में सक्षम होना चाहिए करने के लिए spring.data.mongodb.uri=mongodb://mongo:27017/db और इसे कनेक्ट करने की अनुमति देनी चाहिए।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में नेस्टेड ऑब्जेक्ट को अपडेट करें यदि यह मौजूद है, अन्यथा इसे जोड़ें

  2. अनुक्रमण पर प्रभाव mongodb _id पीढ़ी

  3. नेवला का उपयोग करके गतिशील स्कीमा बनाना

  4. IXSCAN करने के बाद FETCH में नल फिल्टर के लिए Mongo क्वेरी क्यों?

  5. mongoexport का उपयोग करके सॉर्ट किए गए डेटा को कैसे निर्यात करें?