도커에서 이미지로 컨테이너를 생성하고 컨테이너에서 작업을 하게 되면 모든 데이터는 컨테이너가 가지고 있게 된다.
구조를 살펴보면 바닥에 Image가 읽기 전용으로 깔리게 되고 그 위에 쓰기 전용으로 Container가 생성되는 것이다. 이때 위에서 언급했듯이 데이터베이스를 운용하면서 쌓이는 데이터는 모두 컨테이너 계층에 저장이 되게 된다.
컨테이너 계층에 모든 데이터가 저장되면서 생기는 문제는 컨테이너를 삭제하면 데이터 또한 삭제가 된다는 점이다. 물론, 한 번에 날릴 수 있어서 좋기도 하고 편리해 보이지만 만약 실수로 삭제를 했다고 생각하면 소름이 돋을 것이다.
위와 같은 문제를 도커 볼륨을 통해 해결할 수 있다. 정확히는 컨테이너의 데이터를 영속적으로 활용할 수 있는 방법이 몇 가지 있는데 그 중 활용이 쉬운 방법이 Docker Volume인 것이다.
도커 볼륨을 활용하는 방법 또한 여러가지가 있는데 아래와 같다.