Docker Volume

김관응·2023년 3월 30일
0

kubernetes

목록 보기
5/10

Docker는 하나의 이미지로부터 여러 컨테이너를 만들기 위해서 Union File system 을 사용합니다. Union File system은 원본 이미지에 변경된 내용을 추가하는 방식으로, 다른 컨테이너에서 사용할 수 없습니다. 따라서 다른 컨테이너, 혹은 호스트와 데이터를 공유하기 위해 데이터 볼륨을 사용합니다.

docker를 생성하며 -v 옵션으로 호스트OS의 디렉토리를 컨테이너에 마운트할 수 있습니다.

컨테이너가 삭제되어도 호스트OS의 디렉토리에 데이터가 남아있습니다.

--privileged 옵션으로 컨테이너에게 host의 접근 권한을 주어야 쓰기가 가능합니다.

-v {호스트 절대경로}:{컨테이너 절대경로}

--volumes-from 옵션을 사용하면 -v 옵션이 적용된 컨테이너와 같은 볼륨 디렉토리를 공유할 수 있습니다.

도커 볼륨을 이용해 도커 자체에서 제공하는 볼륨 기능을 활용할 수 있습니다.

docker volume create --name myvolume # --name : myvolume 이름의 볼륨 생성

docker volume ls : 볼륨 확인

docker run -it -v hello:/world ubuntu : 이렇게 생성된 볼륨을 다른 컨테이너에서 마운트해서 사용 할 수 있습니다.

생성된 볼륨은 /var/lib/docker/volumes/ 경로 아래에 있습니다.

-v 옵션으로 호스트 디렉토리의 경로를 명시해 주지 않으면 위의 경로에 볼륨의 이름을 랜덤으로 생성해 마운트 합니다.

  1. 명시적으로 원하는 디렉토리 볼륨가능
  2. 도커 볼륨 가능
  3. 묵시적으로 랜덤 이름의 도커 볼륨 가능
profile
엔지니어였던 개발자

0개의 댓글