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

MongoDB और Docker डॉकटर-कंपोज़ ऑथ एरर के माध्यम से और डीबी को इनिशियलाइज़ नहीं कर रहा है

  • प्रमाणीकरण भाग के लिए:क्या आपने --authenticationDatabase admin जोड़ने का प्रयास किया है लॉगिन करने में सक्षम होने के लिए?
  • MONGO_INITDB_DATABASE . के संबंध में यह तब तक प्रभावी नहीं होगा जब तक आपके पास /docker-entrypoint-initdb.d/ के अंतर्गत कोई स्क्रिप्ट न हो जैसा कि docker-entrypoiny में दिखाया गया है .sh इसका उपयोग मोंगोडब छवि में किया जाता है ताकि आपके पास docker-entrypoint-initdb.d/ में एक बैश स्क्रिप्ट हो। इसके साथ ही कहा।

  • अपने एप्लिकेशन डीबी के मालिक के रूप में रूट उपयोगकर्ता का उपयोग करना सुरक्षा के लिहाज से नहीं है क्योंकि इसमें मोंगोडब इंस्टेंस में सब कुछ नियंत्रित करने की क्षमता होगी।

    आईएमएचओ एक बेहतर तरीका होगा कि निम्नलिखित की तरह अतिरिक्त चर जोड़ दें:

    • MONGO_APPLICATION_DATABASE
    • MONGO_APPLICATION_USERNAME
    • MONGO_APPLICATION_PASSWORD

    फिर एक बैश स्क्रिप्ट जोड़ें जो उपयोगकर्ता बनाएगी और इसे पर्यावरण चर का उपयोग करके डेटाबेस को असाइन करेगी (आपको इसे docker-entrypoint-initdb.d पर माउंट करने की आवश्यकता है):

    # initmongo/setup.sh
    mongo admin -u $MONGO_INITDB_ROOT_USERNAME -p $MONGO_INITDB_ROOT_PASSWORD --eval "db.getSiblingDB('$MONGO_APPLICATION_DATABASE').createUser({user: '$MONGO_APPLICATION_USERNAME', pwd: '$MONGO_APPLICATION_PASSWORD', roles: [{role: 'readWrite', db: '$MONGO_APPLICATION_DATABASE'}]});"
    

    docker-compose.yml में वॉल्यूम की अपनी वर्तमान सूची में वॉल्यूम जोड़ें

    #docker-compose.yml
    volumes:
      - ".${MONGO_DATA_DIR}:${MONGO_DATA_DIR}"
      - "./initmongo/:/docker-entrypoint-initdb.d/"
    

    और अंत में इस वेरिएबल को हटा दें MONGO_INITDB_DATABASE क्योंकि इसकी कोई आवश्यकता नहीं है

    लॉगिन करने के लिए निम्न कमांड का उपयोग करें:

    docker exec -it container_name mongo -u "$MONGO_APPLICATION_USERNAME" -p "$MONGO_APPLICATION_PASSWORD" --authenticationDatabase "$MONGO_APPLICATION_DATABASE" "$MONGO_APPLICATION_DATABASE"
    
  • .env . के लिए फ़ाइल मुझे यकीन नहीं है कि इस समस्या का कारण क्या हो सकता है। क्या आपके पास इसका उपयोग करते समय कोई चेतावनी है? साथ ही इस टिप्पणी की जांच करने पर विचार करें या यह




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेस्टेड सरणी संग्रह से पुनर्प्राप्त करने के लिए mongoDB क्वेरी

  2. क्या मोंगोडीबी एकत्रीकरण ढांचा $ समूह मूल्यों की एक सरणी लौटा सकता है?

  3. क्या MongoDB में _id प्रकार को पूर्णांक में बदलना बुरा है?

  4. नेवला निजी चैट संदेश मॉडल

  5. (नोड:71307) [डीईपी0079] पदावनत चेतावनी