Docker Container에서 데이터를 영속적으로 저장하기 위한 방법으로, 컨테이너 자체의 저장 공간을 사용하지 않고 호스트 자체의 저장 공간을 공유해서 사용하는 형태이다. 이를 통해 기존 컨테이너를 새로운 컨테이너로 교체했을 때, 기존 컨테이너 내부에 있던 데이터도 같이 삭제되는 문제를 해결할 수 있다.
docker run -v [hostpath]:[containerpath] [imagename] #컨테이너에 Volume을 연결
[hostpath]에 디렉토리가 이미 존재하는 경우, 호스트의 디렉토리가 컨테이너 디렉토리를 덮어쓴다.
[hostpath]에 디렉토리가 존재하지 않을 경우, [hostpath]에 디렉토리를 새로 만들고 [containerpath]에 있는 디렉토리를 [hostpath]로 복사해온다.
✏️ Anonous Volume vs Named Volume
네임드 볼륨을 할당하는 경우 컨테이너가 종료되고 삭제되어도 유지되지만, 익명 볼륨은 컨테이너 삭제 시 함께 삭제된다.