Volume 생성 및 삭제
docker volume create [OPTIONS] [VOLUME]
명령으로 volume를 생성한다
xxxxxxxxxx
[root@master ~]# docker volume create test-vol
test-vol
docker volume ls [OPTIONS]
명령으로 volume 목록을 확인할 수 있다.
xxxxxxxxxx
[root@master ~]# docker volume ls
DRIVER VOLUME NAME
local 12873e60d19f234b4e10cfe8d9a00013718c82b1a8c31fa0f33ac7ca1e0a47bf
local 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.txt
hi
데이터가 생성되었음을 확인하기 위해 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.txt
hi
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/bash
unknown 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 |