से मोंगो डीबी प्रतिकृति सेट को कॉन्फ़िगर करना मैं 3 मोंगोडीबी सर्वर शुरू करने के लिए डॉकर-कंपोज़ का उपयोग कर रहा हूं जो प्रतिकृति सेट में होना चाहिए।डॉकर-कंपोज़
मैं पहली बार 3 मोंगोडीबी सर्वर शुरू करता हूं, फिर मैं प्रतिकृति सेट को कॉन्फ़िगर करता हूं। इस तरह मैं एक bash script में प्रतिकृति सेट config करना होगा है:
mongo --host 127.0.0.1:27017 <<EOF
var cfg = {
"_id": "rs",
"version": 1,
"members": [
{
"_id": 0,
"host": "127.0.0.1:27017",
"priority": 1
},
// snip...
]
};
rs.initiate(cfg);
rs.reconfig(cfg)
EOF
यहाँ मैं प्रतिकृति का उपयोग कर सेट के विन्यस्त को दोहराने के लिए कोशिश कर रहा हूँ डोकर-रचना।
# docker-compose.yml
mongosetup:
image: mongo:3.0
links:
- mongo1:mongo1
command: echo 'var cfg = { "_id": "rs", "version": 1, "members": [ { "_id": 0, "host": "127.0.0.1:27017", "priority": 1 }, { "_id": 1, "host": "mongo2:27017", "priority": 1 },{ "_id": 2, "host": "mongo2:27017", "priority": 1 } ] }; rs.initiate(cfg);' | mongo mongo1
दुर्भाग्य है कि इस त्रुटि बनाता है: yaml.scanner.ScannerError: mapping values are not allowed here
।
अनुशंसित दृष्टिकोण क्या है? क्या सीएफजी ऑब्जेक्ट को एक अलग फ़ाइल में स्टोर करना संभव है जो डॉकर-लिखता है?