데이터 지속성 자연 친화적

컨테이너는 본래 안전한 게 아님. 몇 개 파라미터 추가로 많은 구멍 막을 수 있음:

눈물의 교훈

😱 컨테이너 업그레이드 후 데이터 전부 사라졌다고?

신난다고 용기내서 컨테이너 이미지 업그레이드했다 치고, 다시 시작하니까 —— 설정이 없어졌고, 데이터가 없어졌고, 이전에 바꾼 모든 거 리셋되었어. 이건 버그 아니고, Docker의 정상 동작이야: 컨테이너는 일시적이고, 지워지면 아무것도 남지 않아. 당신이 지속성 처리를 안 하면, Docker도 저장 안 해줘.

솔루션

✅ Docker Volume Mapping 한 방으로 해결

Certbot으로 무료 SSL 증명서 신청:

네 단계로 지속성 끝내

1

디렉토리 구조 생성

NAS에 데이터 디렉터리 생성. 디렉터리 구조 명확하면 나중에 백업과 마이그레이션이 편함. data, config, logs, memory 네 개의 서브디렉터리로 나눌 것 권장.

2

컨테이너 내 매핑

docker-compose.yml 또는 Docker 관리 UI에서 호스트 머신 디렉터리를 컨테이너 내 경로로 매핑. 매핑 후 컨테이너가 쓴 데이터는 실제로 NAS 드라이브에 저장됨.

3

정시 백업 설정

데이터는 이미 NAS에 있지만, RAID가 당신이 파일을 실수로 삭제하는 걸 방지할 수 없다. 간단한 백업 스크립트 하나 짜고, cron으로 정시 실행, 보험 한 겹 더 든다.

4

복구 프로세스 검증

백업만 해놓고 테스트 안 해. 컨테이너 삭제하고 재구축, 데이터 아직 있는지, 설정 여전히 작동하는지, 서비스 정상 시작하는지 확인. 나중에 실제 문제 터졌을 때 백업이 깨져있는 걸 발견하면 너무 늦어.

Volume 매핑 예제

아래는 추천 디렉토리 구조랑 매핑 방식인데, 시놀로지, QNAP, Unraid 전부 적용 가능해:

docker-compose.yml 볼륨 매핑
services:

자동 백업 스크립트

스크립트 작성, 매일 자동으로 백업 한 개 묶음. 최근 7일만 보관, 오래된 거 자동 지우기:

백업 스크립트
#!/bin/bash

정기 작업

docker-compose.yml에 Watchtower 추가:

crontab으로 정기 백업
# crontab 편집
⚠️ RAID은 백업 아님!RAID은 단일 하드 디스크 장애로 인한 데이터 손실로부터는 보호하지만 파일 오삭제, 랜섬웨어 암호화, NAS 메인보드 화재, 집에 도둑 등은 보호 못함. 진정한 백업 전략은 3-2-1:3개 데이터, 2가지 매체, 1개 지역 외。최소한 백업 파일을 클라우드나 다른 기기에 동기화해줘.

심화 백업 방안

데이터 보안 요구도 높다면 고급 백업 가이드 확인. 증분 백업, 암호화 백업, 클라우드 동기화 등 방법 소개:

👉 심화 백업 및 재난 복구

데이터 백업 직접 관리 안 하고 싶어? MOLILI 관리형은 자동 백업이랑 복구 기능이 포함되어 있어서 신경 쓸 거 없어. MOLILI에 대해 알아보기 →
이 튜토리얼이 도움 됐나?