7.3 데이터 볼륨 컨테이너

이제 데이터 볼륨 컨테이너를 만들어보도록 합시다. 컨테이너간에 데이터를 공유하거나 혹은 임시 컨테이너의 데이터를 사용하려는 케이스가 존재할 때, 이는 매우 유용합니다. 아래의 단계를 살펴봅시다.

  1. 우선 데이터 볼륨 컨테이너를 생성합니다.

  2. 다른 컨테이너를 생성하고 1단계에서 생성된 컨테이너에서 볼륨을 마운트합니다.

실제 실행해볼까요? 먼저 컨테이너(container1)를 만들고 볼륨을 마운트합니다.

grouq:~ giljae$ docker run -it -v /data --name container1 busybox

/data 폴더로 들어가서 두개의 더미 파일을 생성합니다.

/ # cd data /data # touch file1.txt /data # touch file2.txt

이제 다른 터미널을 열어서 docker ps로 실행중인 컨테이너를 확인합니다.

grouq:~ giljae$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8037b0447dba busybox "sh" 3 minutes ago Up 3 minutes container1 grouq:~ giljae$

실행중인 container1에서 명령어를 실행하여 /data 폴더의 파일을 확인합니다.

grouq:~ giljae$ docker exec container1 ls /data file1.txt file2.txt

같은 컨테이너에서 /data 볼륨을 확인했습니다. 이제 다른 컨테이너(container2)를 생성하면서 container1의 /data 볼륨을 마운트 합니다.

grouq:~ giljae$ docker run -it --volumes-from container1 --name container2 busybox

이제 ls 명령어를 실행하여 /data 폴더내의 파일을 확인합니다.

/ # ls /data file1.txt file2.txt / #

container1, container2에서 동일한 데이터 볼륨을 사용했고 이를 확인했습니다.더 자세한 사항은 데이터 볼륨에 대한 공식 문서를 확인 하시길 바랍니다.