728x90
반응형
까다롭긴 하지만, 그래도 볼륨 마운트를 확인하는 방법이 있다.
컨테이너를 거치지 않으면 볼륨 안의 내용을 볼 수가 없기 때문에, 볼륨 마운트 확인이 까다롭다.
volume inspect나 container inspect 명령어를 이용해, 간접적으로 확인은 할 수 있으나,
파일을 읽고 쓰고 있는지 직접 확인하려면 다른 방법이 필요하다.
1. 운영 환경에서 확인하는 방법
- 별도의 컨테이너에 해당 볼륨을 마운트하고, 이 컨테이너에서 볼륨의 내용을 보는 방법이 있다.
- 예를 들면, 다음과 같이 확인한다.
- 워드프레스(컨테이너)에서 데이터를 수정하면 볼륨에 새로운 이미지 파일이 저장된다.
- Linux OS 컨테이너에 같은 볼륨을 마운트 한 다음, 이 볼륨의 내용에서 파일 목록을 확인하면 된다.
2. 학습 환경에서 확인하는 방법
- 워드프레스나 MySQL에서 볼륨에 있는 데이터에 쓰기를 마친 다음 컨테이너를 삭제한다.
- 똑같은 볼륨을 마운트하여 다시 컨테이너를 생성한다.
- 이때, 첫 번째 컨테이너에서 수정한 데이터가 두 번째 컨테이너에 그대로 나타날 것이다.
바인드 마운트라면 파일 복사만으로 백업이 끝나겠지만,
볼륨 마운트는 볼륨 자체를 복사할 수 없어 백업이 까다롭다.
볼륨 백업
- 볼륨을 확인할 때처럼 별도의 리눅스 컨테이너를 연결해 볼륨의 내용을 압축해 저장한다.
- 이 때 주의할 점은 컨테이너 생성(run)과 함께 tar 명령어로 백업을 수행해야 한다.
- 또한, 압축한 파일을 컨테이너의 외부에 저장해야 한다.
백업 과정
볼륨 백업 명령어
- 명령어 예: docker run --rm -v 볼륨명:/source -v 백업_저장_폴더명:/target busybox tar cvzf /target/백업파일이름.tar.gz -C /source .
- -v 옵션과 인자를 생략한 예: docker run --rm (옵션) busybox (인자)
- run 명령어로 리눅스 OS(busybox) 컨테이너를 실행한다.
- 이 컨테이너는 실행 후 바로 삭제할 예정이므로 옵션에 --rm을 추가한다.
- 옵션을 보면, 스토리지 영역을 2개 마운트한다.
- 첫 번째는 볼륨을 busybox 컨테이너(/source)에 마운트한다. - 볼륨 마운트
- 두 번째는 백업된 데이터를 저장할 호스트의 폴더를 busybox 컨테이너(/target)에 마운트한다. - 바인드 마운트
- 이렇게 하는 이유는, /source에 마운트된 볼륨의 내용을 /target에 복사해 컨테이너 외부에 데이터를 저장하기 위함.
- 볼륨을 busybox 컨테이너의 /source에 마운트: -v 볼륨명:/source
- 백업이 저장될 호스트의 폴더를 busybox 컨테이너의 /target에 마운트: -v 백업_저장_폴더:/target
- 인자: tar czvf /target/백업파일명.tar.gz -C /source .
- tar는 tar 압축을 사용하는 명령어고, czvf와 -C는 압축 옵션, '백업파일명.tar.gz'이 파일명이다.
- /source의 내용을 /target 안의 '백업파일명.tar.gz'로 압축해 저장하라는 의미다. 마지막 공백과 점도 잊으면 안된다.
항목 | 값 |
볼륨 이름 | apa00vol1 |
백업 저장 폴더 이름 | C:\Users\사용자명\Documents |
busybox 컨테이너의 백업 원본 디렉터리 이름 | /source |
busybox 컨테이너의 백업 저장 디렉터리 이름 | /target |
백업파일명 | backup_apa |
- 위 설정값을 채워 완성한 명령어: docker run --rm -v apa00vol1:/source -v C:\Users\사용자명\Documents:/target busybox tar czvf /target/backup_apa.tar.gz -C /source .
- 볼륨을 압축해 백업할 때는, 볼륨을 사용하는 주 컨테이너가 정지 또는 삭제됐는지 먼저 확인해야 한다.
- 위 명령어를 이용한 백업은 복잡하지만, docker사에서 추천한 방법이다. 고로 기억해두자.
- volume 백업 명령어 예: docker run --rm -v apa00vol2:/source -v C:\Users\사용자명\Documents:/target busybox tar xzvf /target/backup_apa.tar.gz -C /source
728x90
'docker & kubernetes' 카테고리의 다른 글
컨테이너 사용법 6 | Docker&Kubernetes 학습 29 (3) | 2024.12.03 |
---|---|
컨테이너 사용법 5 | Docker&Kubernetes 학습 28 (3) | 2024.12.01 |
컨테이너 사용법 3 | Docker&Kubernetes 학습 26 (0) | 2024.11.29 |
컨테이너 사용법 2 | Docker&Kubernetes 학습 25 (2) | 2024.11.28 |
컨테이너 사용법 1 | Docker&Kubernetes 학습 24 (0) | 2024.11.27 |