만쥬의 개발일기
article thumbnail

Docker Volume을 설정하는 이유는 여러가지가 있다.

 

host disk의 일정 부분을 Docker에 할당하여 컨테이너가 종료될때 데이터가 손실되지 않도록 로컬에 백업하려고 하는 목적, Docker의 log나 outputfile 등의 결과물을 컨테이너로 접속하지 않고 확인하는 등등 여러 필요성이 있다.

 

|그렇다면 host disk가 할당한 Volume의 실제 위치는 어디있을까?

리눅스의 경우 다음 명령어를 통해 확인 가능하다.

docker volume inspect (volume 명)

위와 같이 Mountpoint가 바로 실제 볼륨의 위치인데, 바로 해당 위치로 이동하려고 하면 권한 문제가 생긴다.

 

 

이는 docker 경로와 볼륨에 대한 권한을 주어야 하는데,

다음 명령어들로 권한을 준 뒤, 접속해보자.

chmod +755 /var/lib/docker
chmod +755 /var/lib/docker/volumes/myV

 

그러면 이렇게 도커 컨테이너가 생성한 결과물을 확인 가능하다.

 

물론 이렇게 하려면, docker run 으로 도커 이미지를 실행할 때 다음과 같이 volume과 도커 내의 원하는 경로를 마운트해주어야 한다.

 

즉, 위의 AllResult.txt는 도커 내의 /var/app/results 경로에 위치한 파일인 것이다.

-v myV:/var/app/results

 

도커 쉘에 접속해서 직접 위치를 확인해보면, 해당 위치에 같은 파일이 위치한 모습이다.

 

refetrence

profile

만쥬의 개발일기

@KangManJoo

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!