클라우드와 컨테이너의 기초

Docker에서 컨테이너가 쓴 데이터를 남기기 위한 명명된 볼륨과 바인드 마운트의 설명으로 올바른 것은?

  1. A볼륨은 Docker가 관리하는 영역에, 바인드 마운트는 호스트의 지정한 디렉터리에 놓이며, 둘 다 컨테이너를 삭제해도 남는다
  2. B명명된 볼륨의 데이터는 컨테이너를 삭제해도 남지만, 바인드 마운트의 데이터는 컨테이너를 삭제하면 호스트의 디렉터리에서도 함께 사라진다
  3. C둘 다 컨테이너의 쓰기 가능한 레이어의 일부로 만들어지므로, docker rm으로 컨테이너를 삭제하면 데이터도 함께 사라진다
정답과 해설 보기

정답: A. 볼륨은 Docker가 관리하는 영역에, 바인드 마운트는 호스트의 지정한 디렉터리에 놓이며, 둘 다 컨테이너를 삭제해도 남는다

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

이 분야 연습하기 분야로 돌아가기

클라우드와 컨테이너의 기초의 다른 문제

  1. 이미지를 registry.example.com/team/web:1.4로 지정하여 가져온다(pull). 이 지정의 각 부분이 뜻하는 바의 조합으로 올바른 것은?
  2. scratch는 파일을 하나도 포함하지 않는 빈 이미지이다. 위의 멀티 스테이지 빌드 Dockerfile로 만든 최종 이미지에 포함되는 것으로 올바른 것은?
  3. Kubernetes에서 배포하고 관리하는 최소 단위로, 하나 이상의 컨테이너를 묶어 같은 IP 주소와 볼륨을 공유하게 하는 것은?
  4. Kubernetes에서 replicas: 3을 지정한 Deployment의 Pod가 3개 동작하고 있다. 이 중 하나의 Pod를 kubectl delete pod로 삭제했을 때 일어나는 일로 올바른 것은?
  5. Kubernetes의 Deployment에서 Pod 템플릿의 컨테이너 이미지를 새 버전으로 변경했다. 기본 업데이트 방식(RollingUpdate)에서 일어나는 일로 올바른 것은?