도커:데이터 볼륨
개요
데이터를 컨테이너가 아닌, 호스트에 저장하는 것. 보통 컨테이너끼리 데이터를 공유할 때 사용한다.(혹은, 컨테이너의 존재와 관련없이 데이터를 저장하고 싶을 때나.)
당연한 이야기지만, dockere commit을 해도 데이터볼륨의 변경사항은 이미지에 포함되지 않는다.
과정 | 설명 | 방법 |
---|---|---|
볼륨생성 | 볼륨을 생성한다. | docker volume create 볼륨명
|
볼륨마운트 | 실행할 때 -v 옵션으로 지정해주어야 한다.
파일 하나만 공유하는 것도 가능하다. 호스트의 절대경로를 쓰지 않고 볼륨명만 입력하면 /var/lib/docker/volumes/볼륨명 디렉터리에 연결된다. 여러 컨테이너에 해당 볼륨을 마운트 해 컨테이너가 생성한 파일이 그대로 보인다. 여러 컨테이너를 하나의 볼륨에 마운트 할 수 있다. |
docker run -v 볼륨:컨테이너디렉터리 |
바인드마운트 | 볼륨을 사용하지 않고 특정 경로 자체를 마운트한다.
호스트디렉터리가 동일한 컨테이너끼리 데이터가 공유된다. 호스트 디렉터리는 기존에 존재해야 하는 것, 컨테이너디렉터리는 없으면 만든다. |
docker run -v 호스트디렉터리:컨테이너디렉터리 |
삭제 | 마운트 되어있는 컨테이너를 모두 삭제한 후 진행할 수 있다. | docker volume rm 볼륨명 |
일괄삭제 | 사용되고있지 않은 볼륨을 일괄적으로 지울 수 있다. | docker volume prune |
데이터 볼륨 컨테이너