리눅스 도커의 내용을 증분 백업하기

우분투

리눅스 서버에서 도커의 내용을 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

이후 백업 하기를 동일하게 반복하면 된다.

0 답글

댓글을 남겨주세요

Want to join the discussion?
Feel free to contribute!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다