도커 이미지와 컨테이너, 볼륨 이란?

busybean3·2021년 9월 7일
1

도커

목록 보기
2/4

도커 엔진에서 사용하는 기본 단위는 이미지와 컨테이너며, 핵심입니다.

👉 도커 이미지

도커 이미지는 컨테이너를 생성할 때 필요한 요소 이며, 가상 머신을 생성할 때 사용하는 iso 파일과 비슷한 개념이다. 이미지는 여러 개의 계층으로 된 바이너리 파일로 존재, 컨테이너를 생성하고 실행할 때 읽기 전용으로 사용됩니다.

도커에서 사용하는 이미지의 이름은 [저장소 이름]/[이미지 이름]:[태그] 의 형태로 구성됩니다.

  • 저장소 이름 : 이미지가 저장된 장소를 의미. 저장소 이름이 명시되지 않는 이미지는 도커에서 기본적으로 제공하는 이미지 저장소인 도커 허브의 공식 이미지를 말함. ( 저장소 이름을 명시할 필요는 없으므로 생략하는 경우도 있슴 )
  • 이미지 이름 : 해당 이미지가 어떤 역할을 하는지 나타냄.
  • 태그 : 이미지의 버전 관리 혹은 리비전(revision) 관리에 사용.

👉 도커 컨테이너

도커 컨테이너는 이미지로 컨테이너를 생성하면 해당 이미지의 목적에 맞는 파일이 들어 있는 파일 시스템과 격리된 시스템 자원 및 네트워크를 사용할 수 있는 독립된 공간이 생성되는것을 말합니다. 생성된 컨테이너는 각기 독립된 파일시스템을 제공받으며 호스트와 분리돼 있으므로 특정 컨테이너에서 어떤 어플리케이션을 설치하거나 삭제해도 다른 컨테이너와 호스트는 변화가 없습니다.

👉 도커 볼륨

도커 이미지로 컨테이너를 생성하면 이미지는 읽기 전용이 되어 컨테이너의 변경 사항만 별도로 저장해서 각 컨테이너의 정보를 보존합니다. 즉 mysql 이미지를 통해서 컨테이너를 생성하고 데이터를 저장하는 경우 컨테이너 내부에 저장된다는 것입니다. 이것은 치명적인 단점입니다. mysql 컨테이너를 삭제하면 컨테이너 계층에 저정되어 있는 데이터베이스의 정보도 삭제된다는 점입니다. 도커 컨테이너는 삭제와 생상이 매우 쉬워 삭제되는 경우 데이터를 복구 할 수 없게 됩니다. 이를 방지하기 위해서 컨테이너의 데이터를 영속적(Persistent) 데이터로 활용할 수 있는 방법으로 도커 볼륨을 활용합니다.

볼륨을 활용하는 방법은 여러 가지 있습니다. 호스트와 볼륨을 공유, 볼륨 컨테이너를 활용, 도커가 관리하는 볼륨등이 있습니다.

REFERENCE

해당 글의 모든 레퍼런스는 "시작하세요! 도커/쿠버네티스 친절한 설명으로 쉽게 이해하는 컨테이너 관리" (용찬호 지음) 을 알립니다.

https://coupa.ng/b2DsNQ

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

profile
엉덩이 무거운 개발자가 되기 위해서 몸무게를 찌웠다...

0개의 댓글