클라우드와 컨테이너의 기초
Docker에서 컨테이너가 쓴 데이터를 남기기 위한 명명된 볼륨과 바인드 마운트의 설명으로 올바른 것은?
- A볼륨은 Docker가 관리하는 영역에, 바인드 마운트는 호스트의 지정한 디렉터리에 놓이며, 둘 다 컨테이너를 삭제해도 남는다
- B명명된 볼륨의 데이터는 컨테이너를 삭제해도 남지만, 바인드 마운트의 데이터는 컨테이너를 삭제하면 호스트의 디렉터리에서도 함께 사라진다
- C둘 다 컨테이너의 쓰기 가능한 레이어의 일부로 만들어지므로, docker rm으로 컨테이너를 삭제하면 데이터도 함께 사라진다
정답과 해설 보기
정답: A. 볼륨은 Docker가 관리하는 영역에, 바인드 마운트는 호스트의 지정한 디렉터리에 놓이며, 둘 다 컨테이너를 삭제해도 남는다
컨테이너의 쓰기 가능한 레이어에 쓴 데이터는 컨테이너를 삭제하면 함께 사라지므로, 남기고 싶은 데이터는 컨테이너 밖에 둡니다. 명명된 볼륨은 Docker가 관리하는 영역에 만들어지며, docker volume rm 등으로 명시적으로 지울 때까지 남습니다. 바인드 마운트는 호스트의 임의 디렉터리를 컨테이너 안에 보이게 하는 방법으로, 데이터는 호스트의 파일로 그대로 남습니다. 호스트에서 편집한 소스 코드를 바로 반영하고 싶은 개발 상황에서는 바인드 마운트가, 데이터베이스의 데이터처럼 관리를 Docker에 맡기고 싶은 것에는 볼륨이 자주 쓰입니다.