Volume과 Bind Mount

Human Being·2022년 5월 1일
0

Docker

목록 보기
6/8
post-thumbnail
post-custom-banner

오늘 소개할 내용은
container에 작성한 내용을 백업하거나
굳이 container 안으로 접속하지 않아도
결과물을 내 컴퓨터에서 확인하고 싶을 때 사용한다

Bind Mount

bind mount는 내 컴퓨터 어느 곳이든 저장할 수 있다
mac의 finder나 window의 폴더 탐색기로 해당 저장소를 열어보고 싶다면
이 방식을 써야 한다

출처 : https://docs.docker.com/storage/bind-mounts/

실제 사용 방식은 다음과 같다

run할 때 -v 옵션을 붙여주면 해당 파일 또는 폴더는
내 컴퓨터에 직접 써지면서 작동된다는 점이다

+) pwd는 리눅스에서 현재 경로를 출력해준다

아래 사진은
그저 ubuntu를 열어서 /home 폴더를 확인해보니 아무것도 없지만
-v 옵션을 붙이면 내 컴퓨터에 있던 xx.yy 파일이
home 폴더에서도 있음을 확인할 수 있다

더 나아가
container 안에서 생성한 파일인 aa.cc가
내 컴퓨터에도 있음을 확인할 수 있다

주목할 점은 --rm 붙여서 생성한 container이기에 exit했을 때 사라지지만
-v 옵션을 붙였기에 해당 폴더만 container 안의 것을 그대로 보존할 수 있다

사용방법은 다음과 같다
주의할 점은 두 경로가 무조건 절대경로여야 한다는점
그래서 위 사진에서 보시다시피
내 컴퓨터의 경로의 현재 위치를 표현할 때 ./가 아닌 $(pwd)를 사용했다

docker run -v {내 컴퓨터 경로}:{container 속 경로} {image name or id}

# Volume bind mount와 다르게 volume은 공유 저장소가 /var/lib/docker/volumes/ 내에 정해진다 즉 docker 내 영역에 저장되기에 아래 그림처럼 docker area 쪽에 volume 화살표가 붙었다

volume 생성 후 살펴보려면 다음의 명령어를 입력한다

# volume 생성 : docker volume create {volume 이름}
docker volume create test_volume

# volume 목록 조회
docker volume ls

# 특정 volume 살펴보기 : docker volume inspect {volume 이름}
docker volume inspect test_volume

"Mountpoint"를 보면
/var/lib/docker/volumes/에 저장된 것을 볼 수 있다

위에서 -v 내컴퓨터:container를 사용했는데
volume을 한 번 만들어두면
내컴퓨터 자리에 volume 이름만 적어두면 된다

docker run -it -v test_volume:/home ubuntu

출처 : https://docs.docker.com/storage/volumes/


출처 : https://docs.docker.com/storage/

post-custom-banner

0개의 댓글