आधिकारिक mongoछवि है कार्यक्षमता शामिल करने के लिए एक जनसंपर्क विलय कर दिया स्टार्टअप पर उपयोगकर्ताओं और डेटाबेस बनाने के लिए।
डेटाबेस इनिशियलाइज़ेशन तब चलेगा जब /data/dbडायरेक्टरी में कुछ भी पॉप्युलेट न हो ।
व्यवस्थापक उपयोगकर्ता सेटअप
"रूट" उपयोगकर्ता सेटअप को नियंत्रित करने के लिए पर्यावरण चर हैं
MONGO_INITDB_ROOT_USERNAME
MONGO_INITDB_ROOT_PASSWORD
उदाहरण
docker run -d \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=password \
mongod
आपको --authकमांड लाइन पर उपयोग करने की आवश्यकता नहीं है / कर सकते हैं क्योंकि docker entrypoint.sh स्क्रिप्ट पर्यावरण चर मौजूद होने पर इसे जोड़ता है।
डेटाबेस प्रारंभिक
छवि /docker-entrypoint-initdb.d/कस्टम .jsया .shसेटअप स्क्रिप्ट को परिनियोजित करने के लिए पथ भी प्रदान करती है जो डेटाबेस इनिशियलाइज़ेशन पर एक बार चलाई जाएगी। .jsस्क्रिप्ट को testडिफ़ॉल्ट रूप से या MONGO_INITDB_DATABASEयदि वातावरण में परिभाषित किया गया है, तो चलाया जाएगा ।
COPY mysetup.sh /docker-entrypoint-initdb.d/
या
COPY mysetup.js /docker-entrypoint-initdb.d/
एक साधारण आरंभीकरण मैंगो शेल जावास्क्रिप्ट फ़ाइल जो containerडेटा के साथ संग्रह को स्थापित करने , लॉगिंग और कैसे एक त्रुटि (परिणाम की जाँच के लिए) के साथ बाहर निकलने के लिए प्रदर्शित करता है।
let error = true
let res = [
db.container.drop(),
db.container.createIndex({ myfield: 1 }, { unique: true }),
db.container.createIndex({ thatfield: 1 }),
db.container.createIndex({ thatfield: 1 }),
db.container.insert({ myfield: 'hello', thatfield: 'testing' }),
db.container.insert({ myfield: 'hello2', thatfield: 'testing' }),
db.container.insert({ myfield: 'hello3', thatfield: 'testing' }),
db.container.insert({ myfield: 'hello3', thatfield: 'testing' }),
db.other.
]
printjson(res)
if (error) {
print('Error, exiting')
quit(1)
}