Docker - Docker?

FromCloud·2023년 6월 16일
1

Kubernetes & Docker

목록 보기
1/12

Docker

  • 도커의 정의
    • 컨테이너 기반의 오픈소스 가상화 플랫폼이다
    • 다양한 프로그램 및 실행환경을 컨테이너로 추상화, 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 매우 단순화 시킨다

Container

  • 컨테이너: Image를 실행한 상태
    • 격리된 공간에서 프로세스가 동작하는 기술이다
    • 가상화 기술의 하나이나 기존의 방식과 차이가 있다
    • 가상화(가상머신)은 Overhead 가 큰편임
    • 컨테이너는 단순히 프로세스를 격리 시키기 때문에 가볍고 빠르다는 장점
    • 컴퓨터 자원을 필요한 만큼만 사용하여 성능적인 손실이 거의 없다고 보면된다

장점

  • 하나의 Host에 여러 개의 컨테이너를 실행하면 서로 영향을 미치지 않고 독립적으로 실행
  • 새로운 컨테이너가 1초 이내로 생성이 된다
  • 실행 중에 접속, 명령어 입력, 패키지 설치 , 사용자 추가, 등등 많은 일들을 동시에 가능
  • 여러대의 컨테이너를 만들어도 Host에서 느껴지는 부하는 거의 없다고 봐도됨

Image

  • 컨테이너 실행에 필요한 파일과 설정 값을 포함 하고 있는 것들이다
  • 이미지는 불변이다
  • 컨테이너 실행을 위한 모든 정보를 공유 -> 설치 및 컴파일이 불필요 하다
  • Image와 Container는 다르다는 점을 잘 구별해 낼 수 있어야한다

도커를 쓰는 이유

  • 새로운 기술 뿐만아니라 존재하는 기술을 잘 포장한다
  • 도커 이미지로 만든 컨테이너는 도커가 설치된 환경이라면 어디서든지 똑같이 작동을 한다

Layer 저장 방식

  • Centos를 실제로 가상머신에서 다운을 받으려면 iso 라는 이미지 파일을 받는데 용량이 약 1.5G(미니멀) 정도 된다

  • 하지만 도커에서 pull을 이용하여 다운을 받으면 실제로 약 200MB 정도 밖에 안되는 용량을 가지고 있다

  • 도커의 장점중 빠르고 간단하다는 것이 있는데 Layer저장 방식 때문에 그렇다

  • 이미지는 여러개의 읽기 전용 Layer로 구성이 되고, 여러개의 Layer가 하나의 파일시스템으로 사용되는 구조를 가지고있다

  • 예를 들어, A+B+C라는 Layer를 가지고 있는 파일시스템이 있다면 이것이 변경되거나 삭제 되는 것이 아닌 A+B+C+D의 구성을 가지게 된다

profile
매일 발전하는 Cloud Engineer

0개의 댓글