Volume 생성 및 삭제
docker volume create [OPTIONS] [VOLUME] 명령으로 volume를 생성한다
xxxxxxxxxx[root@master ~]# docker volume create test-voltest-vol
docker volume ls [OPTIONS] 명령으로 volume 목록을 확인할 수 있다.
xxxxxxxxxx[root@master ~]# docker volume lsDRIVER VOLUME NAMElocal 12873e60d19f234b4e10cfe8d9a00013718c82b1a8c31fa0f33ac7ca1e0a47bflocal 1a95ac0b9df1c857dcf75420a11ad538467b26f1d0a81e08872b623bdf876a57...local test-vol
docker volume inspect VOLUME 명령으로 volume의 상세정보를 확인 할 수 있다.
x[root@master ~]# docker volume inspect test-vol[{"Driver": "local","Labels": {},"Mountpoint": "/var/lib/docker/volumes/test-vol/_data","Name": "test-vol","Options": {},"Scope": "local"}]
Volume Mount
xxxxxxxxxx[root@master ~]# docker run -it --name test \> -v test-vol:/test-vol \> docker.io/ansible/centos7-ansible \> /bin/bash[root@a254c6baa927 ansible]#
Mount 된 Volume Test
ls 명령어를 입력해 마운트 포인트인 /test-vol이 존재하는지 확인한다.
마운트된 /test-vol 디렉토리로 이동하여 test.txt 파일을 생성한다
xxxxxxxxxx[root@a254c6baa927 test-vol]# cat >> test.txthi
데이터가 생성되었음을 확인하기 위해 ctrl + p + ctrl + q 를 입력해 container를 백그라운드로 전환하고
host 로 돌아온다
volume의 data 저장위치를 알아내기 위해 docker inspect VOLUME 명령어를 입력한다
xxxxxxxxxx[root@master test-vol]# docker inspect test-vol[{"Driver": "local","Labels": {},"Mountpoint": "/var/lib/docker/volumes/test-vol/_data","Name": "test-vol","Options": {},"Scope": "local"}]
데이터 저장위치로 이동하면 container안에서 생성한 test.txt 파일을 볼 수 있다.
xxxxxxxxxx[root@master test-vol]# ls /var/lib/docker/volumes/test-vol/_data/test.txt[root@master test-vol]# cat /var/lib/docker/volumes/test-vol/_data/test.txthi
unknown falg : --mount ERROR
x[root@master ~]# docker run -d \> -it \> --name test \> --mount source=test-vol,target=/test-vol \> docker.io/ansible/centos7-ansible \> /bin/bashunknown flag: --mount
위와 같이 mount 옵션을 붙혀 실행 시 mount flag를 찾을 수 없다는 에러가 나타나는 경우가 있다 --mount flag는 docker의 17.06 version부터 지원하는 것이다 docker version 명령어를 통해 버젼을 확인 한 뒤 17.06 이하 version의 경우 update를 진행 해야 한다. 또는 -v 옵션을 사용하는 차안도 있다.
참고 : http://avilos.codes/infra-management/virtualization-platform/docker/docker-container-volume/
'Infra > Docker' 카테고리의 다른 글
| Docker - Spring Boot Application Docker로 배포하기 및 Mysql 연동 (3) | 2020.05.07 |
|---|---|
| Docker - Docker Network란? (Docker Netowkr 사용예제) (0) | 2020.04.17 |
| Docker - Docker의 데이터 저장방법 (0) | 2019.02.15 |
| Docker - Forbidden path outside the build context 에러 (4) | 2019.01.30 |
| Docker - Certification is Expired or not yet valid 에러 (0) | 2019.01.30 |