Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 폴더조사
- GCN
- 3d
- docker
- 3d데이터
- graph
- Set
- osmnx
- 파이썬
- STL
- pyvista
- MESH
- python최단거리
- 패치분할
- 귀여운고래
- GNN
- 동명이인찾기
- 도커
- GIS
- 지하철역좌표
- 데이터입수
- geopandas
- 알고리즘
- 좌표거리
- geojson
- Python
- 컨테이너
- 그리드분할
- 도커 레이어
- 이미지빌드
Archives
- Today
- Total
이것저것 기록
[Docker] 도커 볼륨과 마운트 본문
0. 도커 환경에서 볼륨이란?
도커는 기본적으로 각 컨테이너마다 독자적인 저장소를 가지고 있다. 하지만 컨테이너 내부에 저장되는 데이터는 컨테이너가 삭제되었을 경우 함께 사라진다.
예를 들어 내가 '딥러닝 모델 학습'을 위한 도커 컨테이너를 만들었다고 생각해보자.
만약 내가 해당 컨테이너를 삭제하면, 학습된 모델 파라미터와 아웃풋이 모두 함께 삭제되는 것이다...
때문에 컨테이너 내부에 중요한 데이터를 두는 것은 그닥 안전한 방법은 아니다.
>> 이러한 이슈 때문에 도커는 데이터의 영속성을 보장하기 위해 여러 방법을 지원하고 있는데, 그 중 하나가 바로 도커 볼륨이다.
1. 볼륨의 종류
위 그림은 볼륨의 세 가지 종류를 나타낸다.
- Bind Mount: 호스트 환경의 특정 경로를 컨테이너 내부 볼륨 경로와 연결하여 마운트한다. 이 방법은 보안에 영향을 미칠 수도 있다고, 홈페이지에서 경고하고 있긴 하다... 흠.
- Volume (가장 일반적): 도커 볼륨은 도커 컨테이너에서 도커 내부에 도커 엔진이 관리하는 볼륨을 생성하는 것이다. 생성된 볼륨은 호스트 디렉터리의 /var/lib/docker/volumes 경로에 저장되며, 도커를 사용하여 관리가 용이하다.
- tmpfs Mount: 이 방법은 리눅스에서 도커를 실행하는 경우에만 사용할 수 있는 기능이라고 한다. 호스트의 파일 시스템이 아닌, 메모리에 저장하는 방식을 사용한다.
여기서 나는 가장 일반적인 도커 볼륨에 대해 조금 더 자세히 알아보려고 한다.
2. 볼륨 생성하기
- docker volume create <volume name>: 도커 볼륨 생성
- docker volume ls: 볼륨 목록 리스트 확인
- docker volume inspect <volume name>: 도커 볼륨 정보 확인
- 보다시피 마운트 포인트가 var/lib/docker/volumes 인 것을 확인할 수 있다.
>> 이렇게 생성된 볼륨은 컨테이너 시작 시 -v 옵션을 통해 마운트 할 수 있다.
>> Dockerfile 작성 시 VOLUME 명령어를 통해 설정할 수도 있음!
오늘은 간단하게 도커 환경에서 '볼륨'의 개념에 대해 정리해봤다.
다음 번에는 복잡한 볼륨도 추가하는 도커파일을 작성해봐야겠다!
'Data Science > New Tech' 카테고리의 다른 글
[solidity] 스마트컨트랙트 배포하기 (0) | 2022.02.14 |
---|---|
[Docker] 파이썬 스크립트를 실행하는 도커 이미지 빌드하기 (1) | 2021.06.11 |
[Docker] 도커 컨테이너 실행하기 / 명령어, 옵션 정리 (0) | 2021.06.06 |
[Docker] 도커 컨테이너의 동작 원리 (LXC, namespace, cgroup) (0) | 2021.06.06 |
[Docker] 도커 이미지 내려받기, 이미지 레이어란? (1) | 2021.06.05 |
Comments