आधिकारिक 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)
}