데이터 종류
- 어플리케이션 데이터
- 코드나 라이브러리로 이미지에 읽기 전용으로 존재
- 임시 데이터
- 읽기,쓰기 가능하며 컨테이너가 구동하는 기간만 존재, 재시작 시 사라짐
- 영구 데이터
- 읽기,쓰기 가능하며, 컨테이너나 볼륨에 존재, 재시작 시 존재해야 함
볼륨(VOLUME)
도커가 컨테이너 내부의 데이터를 호스트 서버 어딘가에 "미러링"해 저장하는 것
도커만이 관리하고 사용자는 찾기도 어려우며, 접근해 수정을 가해선 안됨(접근 못하도록 설계함)
볼륨 두 가지
익명 볼륨
컨테이너 내부 경로만 지정
호스트 서버 경로를 지정하지 않아 도커가 임의로 매핑함
사용자는 위치를 모름
심지어 접근조차 할 수 없도록 설계됨
확인 명령어
docker volume ls
컨테이너 종료 시 익명볼륨도 같이 사라짐
즉, "익명 볼륨 데이터"는 수명주기를 컨테이너와 함께함
휘발성, 일회성
하나의 익명 볼륨은 하나의 컨테이너에 강하게 연결되어 있음
명명된 볼륨 (named)
익명 볼륨과 같지만 이름을 부여한다.
큰 차이는 컨테이너 제거 시 호스트 저장소에 데이터는 안지워진다.
다만 접근하면 안되도록 설계한 것은 동일하기에 편집하지 않지만 삭제되면 안되는 데이터가 오기 좋다.
컨테이너가 종료되도 호스트 서버에 있는 볼륨은 삭제되지 않음
이 볼륨은 하나의 컨테이너에만 연결되지 않음
즉, 볼륨 이름을 컨테이너 실행 시 똑같이 입력하면 여러 컨테이너가 연결될 수 있음
컨테이너를 종료해도 볼륨이 살아있는 것을 알 수 있다.
볼륨 삭제
명명된 볼륨은 컨테이너를 종료해도 남아있기에 제거 방법을 알아둬야 한다.
docker rm 볼륨이름 // 단건 제거
docker volume prune // 컨테이너 참조가 하나도 없는 모든 볼륨 제거
모든 명령어 공통 사항으로 제거 시 prune 가 들어가면, 참조되지 않고 단순히 존재만 할 시 제거 대상이 된다.
'개발 > 도커' 카테고리의 다른 글
데이터 관리 및 볼륨으로 작업하기 - 03 (0) | 2023.02.16 |
---|---|
데이터 관리 및 볼륨으로 작업하기 - 02 (0) | 2023.02.15 |
Docker 이미지 & 컨테이너 : 코어 빌딩 블록 - 02 (0) | 2023.02.10 |
Docker 이미지 & 컨테이너 : 코어 빌딩 블록 - 01 (0) | 2023.02.08 |
도커란? (0) | 2023.02.06 |