[Docker] 도커 볼륨
- DOCKER
- 2021. 11. 8. 19:06
소개
- 안녕하세요. 오늘은 도커 볼륨 3번째 시간으로,
docker volume
명령어를 사용하는 방법에 대해서 알려 드리려고 합니다. - 지금까지 한 방법과 같이 호스트와 볼륨을 공유해 컨테이너의 데이터를 보전하거나 --volumes-from 옵션을 활용하는 것도 나쁜 방법은 아닙니다.
- 그러나, 도커 자체에서 제공하는 볼륨 기능을 활용해 데이터를 보존할 수도 있습니다.
- 이번 포스팅에서는 도커 자체에서 제공하는 볼륨 기능을 활용해 데이터 보존하는 방법에 대해서 학습해 보도록 하겠습니다.
docker volume 명령어
- 볼륨을 다루는 명령어는
docker volume
으로 시작합니다. - docker volume create 명령어로 볼륨을 생성합니다.
- 다음 명령어는 myvolume이라는 볼륨을 생성합니다.
> docker volume create --name myvolume
myvolume
- docker volume ls 명령어를 통해 생성된 볼륨을 확인합니다.
> docker volume ls
DRIVER VOLUME NAME
local myvolume
- 볼륨을 생성할 때 플로그인 드라이버를 설정해 여러 종류의 스토리지 백엔드를 쓸 수 있지만 여기서는 기본적으로 제공되는 드라이버인 local을 사용합니다.
- 해당 볼륨은 로컬 호스트에 저장되며 도커 엔진에 의해 생성되고 삭제 됩니다.
- 이제 다음으로, myvolume이라는 볼륨을 사용하는 컨테이너를 생성합니다.
- 호스트와 볼륨을 공유할 때 사용한 -v 옵션의 입력과는 다르게 다음과 같은 형식으로 입력하면 됩니다.
> docker run -i -t --name myvolume_1 -v myvolume:/root ubuntu
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
7b1a6ab2e44d: Already exists
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Downloaded newer image for ubuntu:latest
root@37632f259d32:/# echo hello, volume! >> /root/volume
[볼륨의 이름]:[컨테이너의 공유 디렉토리]
형태로 명령어 입력합니다.- 위의 예시에서 생성되는 컨테이너는 볼륨을 컨테이너의 /root 티렉토리에 마운트하므로 /root 디렉토리에 파일을 쓰면 해당 파일이 볼륨에 저장됩니다.
- 위의 명령어를 통하여
/root
디렉토리에 volume 이라는 파일을 생성했습니다.
> docker run -it --name myvolume_2 -v myvolume:/root/ ubuntu
root@d8b8a39c45b0:/# cat /root/volume
hello, volume!
- 위와 같이
myvolume_2
컨테이너를 생성하여 myvolume 볼륨을 쓰면서 실제로 volume 파일이 생성되는지 확인합니다. - 실행 결과, /root/volume 경로에
hello, volume!
라는 문구가 출력되는 것을 확인할 수 있습니다.
docker inspect 명령어
- docker inspect 명령어를 사용하면 myvolume 볼륨이 실제로 어디에 저장되는지 알 수 있습니다.
- docker inspect 명령어는 컨테이너, 이미지, 볼륨 등 도커의 모든 구성 단위의 정보를 확인할 때 사용되며, 정보를 확인할 종류를 명시하기 위해 --type 옵션에 image, volume 등을 입력하는 것이 좋습니다.
- 다음 예제는 이름이 myvolmue 인 볼륨의 정보를 출력하는 예제 입니다.
> docker inspect --type volume myvolume
[
{
"CreatedAt": "2021-11-08T09:58:11Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/myvolume/_data",
"Name": "myvolume",
"Options": {},
"Scope": "local"
}
]
728x90
'DOCKER' 카테고리의 다른 글
[Docker] PostgreSQL Docker Compose 파일 작성 (0) | 2022.04.12 |
---|---|
Docker 네트워크 사용법 (0) | 2022.04.01 |
[Docker] 도커 볼륨 (0) | 2021.11.04 |
[Docker] 오라클 11g 컨테이너 실행 및 볼륨 설정하기 (0) | 2021.09.27 |
[Docker] Docker 기본 명령어 (0) | 2021.08.19 |
이 글을 공유하기