Docker 좀더 활용하기

이재홍 http://www.pyrasis.com 2014.08.02 ~ 2014.09.20

Docker 데이터 볼륨 컨테이너 사용하기

앞에서 데이터 볼륨을 사용하는 방법을 알아보았습니다. 데이터 볼륨 컨테이너는 데이터 볼륨을 설정한 컨테이너를 뜻합니다. 일반 컨테이너에서 데이터 볼륨 컨테이너를 연결하면 데이터 볼륨 컨테이너 안의 데이터 볼륨 디렉터리에 접근할 수 있습니다.


그림 6-7 Docker 데이터 볼륨 컨테이너

다음 명령을 입력하여 데이터 볼륨 컨테이너를 생성합니다(컨테이너 이름이 중복되면 기존 컨테이너는 docker rm 명령으로 삭제합니다). 컨테이너의 Bash 셸이 실행되면 /data 디렉터리로 이동한 뒤 hello2라는 빈 파일을 생성합니다. 그리고 Ctrl+P, Ctrl+Q를 차례대로 입력하여 컨테이너를 정지하지 않고 Bash 셸에서 빠져나옵니다.

$ sudo docker run -i -t --name hello-volume -v /root/data:/data ubuntu /bin/bash
root@c9779e329513:/# cd /data
root@c9779e329513:/data# touch hello2

일반 컨테이너를 생성하면서 방금 생성한 hello-volume 데이터 볼륨 컨테이너를 연결합니다. 컨테이너의 Bash 셸이 실행되면 /data 디렉터리의 파일 목록을 출력합니다.

$ sudo docker run -i -t --volumes-from hello-volume --name hello ubuntu /bin/bash
root@c85aaf93b14e:/# ls /data
hello2

데이터 볼륨 컨테이너를 연결하는 옵션은 --volumes-from <데이터 볼륨 컨테이너> 형식입니다.

이제 데이터 볼륨 컨테이너에서 생성한 hello2 파일이 보입니다(호스트의 /root/data에 연결했기 때문에 앞에서 생성한 다른 파일들이 보일 수도 있습니다).

지금은 일반 컨테이너를 하나만 연결했지만 데이터 볼륨 컨테이너에 일반 컨테이너를 여러 개 연결해도 됩니다.

다음 명령처럼 /data 디렉터리를 호스트의 특정 디렉터리에 연결하지 않아도 데이터 볼륨 컨테이너로 사용할 수 있습니다.

$ sudo docker run -i -t --name hello-volume -v /data ubuntu /bin/bash

저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

30 November 2014