데이터 지속성 자연 친화적
컨테이너는 본래 안전한 게 아님. 몇 개 파라미터 추가로 많은 구멍 막을 수 있음:
눈물의 교훈
신난다고 용기내서 컨테이너 이미지 업그레이드했다 치고, 다시 시작하니까 —— 설정이 없어졌고, 데이터가 없어졌고, 이전에 바꾼 모든 거 리셋되었어. 이건 버그 아니고, Docker의 정상 동작이야: 컨테이너는 일시적이고, 지워지면 아무것도 남지 않아. 당신이 지속성 처리를 안 하면, Docker도 저장 안 해줘.
솔루션
Certbot으로 무료 SSL 증명서 신청:
네 단계로 지속성 끝내
디렉토리 구조 생성
NAS에 데이터 디렉터리 생성. 디렉터리 구조 명확하면 나중에 백업과 마이그레이션이 편함. data, config, logs, memory 네 개의 서브디렉터리로 나눌 것 권장.
컨테이너 내 매핑
docker-compose.yml 또는 Docker 관리 UI에서 호스트 머신 디렉터리를 컨테이너 내 경로로 매핑. 매핑 후 컨테이너가 쓴 데이터는 실제로 NAS 드라이브에 저장됨.
정시 백업 설정
데이터는 이미 NAS에 있지만, RAID가 당신이 파일을 실수로 삭제하는 걸 방지할 수 없다. 간단한 백업 스크립트 하나 짜고, cron으로 정시 실행, 보험 한 겹 더 든다.
복구 프로세스 검증
백업만 해놓고 테스트 안 해. 컨테이너 삭제하고 재구축, 데이터 아직 있는지, 설정 여전히 작동하는지, 서비스 정상 시작하는지 확인. 나중에 실제 문제 터졌을 때 백업이 깨져있는 걸 발견하면 너무 늦어.
Volume 매핑 예제
아래는 추천 디렉토리 구조랑 매핑 방식인데, 시놀로지, QNAP, Unraid 전부 적용 가능해:
services:
자동 백업 스크립트
스크립트 작성, 매일 자동으로 백업 한 개 묶음. 최근 7일만 보관, 오래된 거 자동 지우기:
#!/bin/bash
정기 작업
docker-compose.yml에 Watchtower 추가:
# crontab 편집
심화 백업 방안
데이터 보안 요구도 높다면 고급 백업 가이드 확인. 증분 백업, 암호화 백업, 클라우드 동기화 등 방법 소개: