리눅스 도커의 내용을 증분 백업하기
리눅스 서버에서 도커의 내용을 tar를 이용해 증분 백업하고 복원하는 법에 대해 설명한다.
백업 하기
디렉토리 생성
sudo mkdir -p backup/docker/list
Bash도커 중단
sudo systemctl stop docker
Bash안전한 백업을 위해 도커를 중단한다.
전체 백업
sudo tar -g /backup/docker/list/snapshot.snar -czf /backup/docker/list/full.tar.gz /var/lib/docker
Bash스냅샷 파일이 없다면 새로 생성하면서 전체 내용이 압축된다.

압축 파일과 스냅샷 정보가 생성되었다
증분 백업
sudo tar -g /backup/docker/list/snapshot.snar -czf /backup/docker/list/{date}.tar.gz /var/lib/docker
Bash압축 파일 이름만 다르게 준다.
스냅샷이 이미 존재하므로 변경점만 감지해서 압축한다.

변경점만 적용된 26메가 가량의 작은 파일이 생성되었다
도커 시작
sudo systemctl start docker
Bash백업이 끝나면 중단했던 도커를 다시 시작한다.
복원 하기
도커 중단
sudo systemctl stop docker
Bash기존 도커 제거
sudo rm -rf /var/lib/docker
Bash전체 백업 복원
sudo tar -g /dev/null -xzf full.tar.gz -C /
Bash원하는 증분 백업까지 순차 복원 ( 오래된 것부터 먼저 )
sudo tar -g /dev/null -xzf inc_20250726.tar.gz -C /
sudo tar -g /dev/null -xzf inc_20250727.tar.gz -C /
sudo tar -g /dev/null -xzf inc_20250728.tar.gz -C /
Bash도커 재시작
sudo systemctl start docker
Bash새로운 전체 백업
스냅샷 제거
sudo rm /backup/docker/snapshot.snar
Bash이후 백업 하기를 동일하게 반복하면 된다.
댓글을 남겨주세요
Want to join the discussion?Feel free to contribute!