Programming > Docker

[볼륨-1] 볼륨의 종류

볼륨 옵션 패턴 4가지

※ docker run 할때 아래와 같이 옵션을 붙여 사용한다.

-v [컨테이너 패스]

-v [호스트 패스] : [컨테이너 패스]

-v [데이터 볼륨] : [컨테이너 패스]

--volumes-from [컨테이너 명]

 

1) -v [컨테이너 패스]

$ docker run -it --name mycon -v /data centos /bin/bash

[컨테이너]  생성한 컨테이너에 /data 디렉토리가 존재하지 않으면 실행하면서 생성한다.

[호스트]

/var/lib/docker/volumes/<Random 문자열>/_data/  의 호스트상의 물리 디렉토리에 동기된다.

또는 /mnt/sda1/var/lib/docker/volumes/<Random 문자열>/_data/

 

2) -v [호스트 패스] : [컨테이너 패스]

$ docker run -it --name mycon -v /data/mycon:/data centos /bin/bash

[컨테이너]  생성한 컨테이너에 /data 디렉토리가 존재하지 않으면 실행하면서 생성한다.

[호스트]

호스트의 /data/mycon 디렉토리와 컨테이너의 /data 디렉토리가 동기된다.

 

3) -v [데이터 볼륨] : [컨테이너 패스]

$ docker run -it --name mycon -v myvol_data:/data centos /bin/bash

[컨테이너]  생성한 컨테이너에 /data 디렉토리가 존재하지 않으면 실행하면서 생성한다.

[호스트]

docker volume에 myvol_data 가 추가된다.

또한 /var/lib/docker/volumes/myvol_data 에 실제 영역이 생긴다.

 

4) --volumes-from [컨테이너 명]

볼륨 컨테이너의 볼륨을 매핑한다.

 

볼륨관련 명령어

도커 볼륨 보기 $ docker volume ls
볼륨을 모두 삭제 $ docker volume ls -q | xargs docker volume rm
$ docker volume rm $(docker volume ls -qf dangling=true)
링크가 끝긴 볼륨 삭제 $ docker volume ls -qf dangling=true | xargs -r docker volume rm
$ docker volume prune
볼륨을 생성하기 $ docker volume create --name my_volume