Data persistence naturally friendly
Container gak native secure, tambahin beberapa parameter bisa plug banyak holes:
Pelajaran darah
kamu semangat upgrade container image, restart terus discover —— config hilang, data hilang, semua yang kamu ubah reset jadi nol. ini bukan bug, ini normal behavior Docker: container temporary, delete tinggal tidak ada. kamu tidak persist, tidak bantu kamu store.
Solution
Use Docker volume mapping map container important directory ke host physical path. Container delete anytime rebuild, long as mapping path files tetap, data survive. This is Docker most basic dan most important operation, no question.
empat step selesai persist
buat structure directory
Buat data directory di NAS. Struktur folder yang jelas bikin backup dan migrasi jadi gampang. Saranin bagi jadi 4 subfolder: data, config, logs, memory.
Map volume ke container
Di docker-compose.yml atau Docker management UI, map directory di host ke path di container. Abis dimapping, data yang ditulis container sebenarnya tersimpan di NAS disk.
Set backup berkala
Walaupun data udah di NAS, tapi RAID nggak lindungi kalo kamu salah hapus file. Tulis script backup sederhana, pakai cron jalanin otomatis, punya extra layer proteksi.
Verify recovery flow
jangan hanya backup tidak test. delete container rebuild sekali, confirm data masih ada, config masih effect, service bisa start normal. tunggu bener-bener ada masalah baru discover backup rusak terlambat.
Contoh mapping volume
ini rekomen directory structure dan mapping method, cocok untuk Synology, QNAP, Unraid semua NAS:
services:
Script auto backup
tulis script, setiap hari auto tar satu backup. keep terbaru 7 hari, auto clean lama:
#!/bin/bash
Scheduled task
Add Watchtower ke docker-compose.yml lo:
# Edit crontab
Advanced backup plan
Kalo lo concern sama data security, cek tutorial backup advanced, ada discuss increment backup, encrypted backup, cloud sync: