Data persistence configuration।

Container को rebuild करने से data नहीं जाता — इस step को skip मत करना।

Experience से सीखे हुए lessons

😱 Container update करने के बाद data सब गायब हो गया?

तुमने खुश होकर नया कंटेनर इमेज अपडेट किया, रीस्टार्ट के बाद देखते हो —— कॉन्फ़िगरेशन गायब, डेटा गायब, सब कुछ जीरो पर। यह बग नहीं है, Docker का नॉर्मल बिहेवियर है: कंटेनर टेंपररी होते हैं, डिलीट करो तो कुछ नहीं बचता। तुम परमानेंट स्टोरेज न दो तो Docker अपने आप नहीं देगा।

Solutions

✅ Docker Volume Mapping एक ही ट्रिक से सेटअप हो जाता है

Docker volume mapping से container के important directories को host machine के physical path पर map कर दो। Container को delete-create करते रहो, बस mapped path के files intact रहें, data safe रहेगा। ये Docker का सबसे basic और सबसे important operation है, कोई alternative नहीं।

चार स्टेप में परमानेंट स्टोरेज सेटअप हो जाता है

1

डायरेक्टरी स्ट्रक्चर बनाओ

NAS पर data directory बना दो। Directory structure साफ हो तो बाद मे backup और migration आसान हो जाता है। बेहतर है कि data, config, logs, memory ये चार subdirectories बना लो।

2

Volume को container मे map करना।

docker-compose.yml या Docker management interface मे host machine की directory को container के अंदर वाली path से map कर दो। Map करने के बाद container जो data लिखेगा वो दरअसल NAS hard drive पर save होगा।

3

Set up scheduled backup

Data तो NAS पर है ही, पर RAID तुम्हारे accidentally delete को नहीं रोक सकता। एक simple backup script लिखो, cron से regularly चलाओ, एक extra layer की safety मिल जाएगी।

4

Verify recovery process

बैकअप लो पर टेस्ट मत भूलो। कंटेनर डिलीट करके फिर से बनाओ, डेटा अभी है या नहीं, कॉन्फ़िगरेशन काम कर रही है या नहीं, सर्विस सही से शुरु हो रही है या नहीं - यह सब चेक करो। अगर असली बुरे वक़्त में बैकअप खराब निकले तो बहुत देर हो जाएगी।

Volume मैपिंग उदाहरण

नीचे रिकमेंडेड डायरेक्टरी स्ट्रक्चर और मैपिंग तरीका दिया है, सभी NAS जैसे Synology, QNAP, Unraid के लिए:

docker-compose.yml वॉल्यूम मैपिंग
services:

Automated backup script

एक स्क्रिप्ट लिख दो, रोज़ बैकअप बना दो। पिछले 7 दिन रखो, पुराने ऑटो-डिलीट करो:

Backup script।
#!/bin/bash

Scheduled task configuration।

Backup script को cron मे add कर दो, हर दिन रात को 3 बजे automatically चले:

crontab शेड्यूल्ड बैकअप
# crontab संपादित करें
⚠️ RAID बैकअप नहीं है!RAID आपके डेटा को एकल हार्ड ड्राइव की विफलता से बचाता है, लेकिन आकस्मिक हटाने, ransomware एन्क्रिप्शन, NAS मेनबोर्ड जल गया, घर चोरी हो गई इन परिस्थितियों से रक्षा नहीं करता। सच्ची बैकअप कौशल 3-2-1:3 कॉपी डेटा, 2 माध्यम, 1 स्थान दूर। कम से कम बैकअप फ़ाइलस को किसी क्लाउड स्टोरेज या दूसरी मशीन पर सिंक कर दो।

Advanced backup solution

अगर data security को लेकर ज्यादा चिंता है तो advanced backup tutorial देख लो, वहाँ incremental backup, encrypted backup, cloud sync वगैरह का तरीका बता रखा है:

👉 Advanced backup और disaster recovery

डेटा बैकअप खुद न रखना हो? MOLILI के मैनेज्ड प्लान में ऑटो-बैकअप और डेटा रिकवरी बिल्ट-इन है, बिल्कुल निश्चिंत। MOLILI के बारे में जानो →
क्या यह tutorial तुम्हारे लिए useful रहा?