Docker&K8s

CH.01_01 컨테이너란?

dding-shark 2025. 7. 18. 11:36
728x90

도커/ 쿠버네티스 컨테이너 개발과 운영


CH01_ 컨테이너와 도커 기초

  • 컨테이너 기술의 개념과 의의
  • 도커의 개요 역사
  • 도커를 이용한 컨테이너 실행
  • 도커 데스크톰을 로컬에 실행

CH01_01 컨테이너란?

  • 가상화 기술을 이용 -> 호스트 OS형 가상화 기술에 비해 가볍게 돌아감
  • 서버(실행)환경에 독립적으로 실행 가능
  • 개발 환경 뿐만 아니라, 이후 운영환경 배포와 애플리 캐이션 플랫폼 기능까지 있다.

CH01_01 : 신기한거 정리 내용

  1. 호스트OS 형 가상화 vs 하이퍼 바이저 가상화 vs 컨테이너형 가상화
    • 호스트OS형 가상화 vs 하이퍼 바이저 가상화
      • 호스트OS형 가상화 :
        • H/W 위에 OS 를 설치 -> 에뮬레이터 S/W를 이용하여 -> 게스트OS를 실행
          • S/W를 에뮬레이터 하는구조 -> 성능 면에서 제약이 있다.
          • ex. VMware Server, Microsoft Virtual Server ...
      • 하이퍼 바이저형 가상화 :
        • H/W상에 가상화 SW를 설치하고, 그 위에 가상 머신을 동작시킴
          • 호스트OS를 거치지 않아 성능이 우수하다.
          • ex. VMware vSphere, Hyper-V, Xen ,KVM...
          • 하이퍼 파이저의 세부 분류
            • 전 가상화 :
              • 하이퍼 바이저를 이용하여 가상머신을 만드는데, 실제 H/W랑 완전히 독립된 환경에서 실행키심.
              • 가상머신과 실제 HostOS는 완전한 독립,
              • DOM0 라는 가상머신이 HostOS에 구동이 되며, 모든 명령은 DOM0를 통해서 내림.
            • 반 가상화 :
              • 가상머신이 실제 하드웨어랑 상호작용할때 일부 수정된 운영체제를 사용하는 기술
              • 가상머신의 OS 가 실제 하드웨어와 직접 통신하지 않고, 가상화 레이어를 통해 상호작용
              • 하이퍼 바이저에세 Hyper Call 요청을 할 수 있도록, OS를 좀.. 수정해서 사용하기 편하세 이용
              • 오픈소스OS 가 아니면 이용하기 쉽지않음
      • 그래서.. 둘이 무슨 차이인데...
      • 게스트 OS를 실행 시키는 주체가 ->
        • 호스트형 OS -> H/W위에 HostOS 위에 실행중인 가상화S/W가 게스트OS를 실행
        • 하이퍼 바이저형 -> H/W위에 바로 가상화S/W가 실행된다. : HostOS랑 빠이빠이

    -   컨테이너형 가상화 :
        -   **리소스가 격리된 프로세스**
        -   응용 프로그램과/ 그 의존성을 패키지화 해서 하나의 격리된 환경에서 실행
        -   OS에서 파일 시스템을 나눠서 독립된 독방..? 을 컨테이너 마다 줘서 알아서 실행하게 돌림
        -   OS를 공유하기때문에 빠른 시작과 종료가 가능


CH01_01: 가상화 기술 비교 정리

구분 호스트 OS형 가상화 하이퍼바이저형 가상화 컨테이너형 가상화
아키텍처 H/W → 호스트 OS → 가상화 S/W → 게스트 OS H/W → 하이퍼바이저 → 게스트 OS H/W → 호스트 OS → 컨테이너 엔진 → 애플리케이션
개념 호스트 OS 위에 가상화 소프트웨어를 설치하여 게스트 OS를 실행하는 방식 하드웨어에 직접 하이퍼바이저(가상화 S/W)를 설치하여 그 위에 가상 머신(게스트 OS)을 실행하는 방식 호스트 OS의 커널을 공유하며, 프로세스를 격리하여 애플리케이션을 실행하는 방식
성능 및 효율성 소프트웨어 에뮬레이션 구조로 인해 성능 저하 발생 가능 호스트 OS를 거치지 않아 상대적으로 성능 우수 OS를 공유하므로 매우 가볍고, 시작과 종료가 빠름. 리소스 사용량이 적음.
OS 가상 머신마다 별도의 게스트 OS 설치 필요 가상 머신마다 별도의 게스트 OS 설치 필요 호스트 OS 커널을 공유하므로 별도의 게스트 OS 불필요
격리 수준 완전한 하드웨어 가상화를 통해 높은 격리 수준 제공 완전한 하드웨어 가상화를 통해 높은 격리 수준 제공 프로세스 수준의 격리. 다른 컨테이너와 호스트에 영향을 주지 않음.
주요 특징 - 구현이 비교적 간단함. - 기존 OS 환경 위에 쉽게 구축 가능. - 전가상화반가상화로 나뉨. - 하드웨어를 직접 제어하여 효율적. - 리소스가 격리된 프로세스 - 애플리케이션과 의존성을 함께 패키징하여 이식성이 높음.
대표 예시 VMware Server, Microsoft Virtual Server VMware vSphere, Hyper-V, KVM, Xen Docker, containerd, CRI-O

요약

  • 호스트 OS형하이퍼바이저형가상 머신(VM)을 생성하여 그 안에 OS를 포함한 완전한 컴퓨팅 환경을 구축한다. 따라서 무겁고 시작 시간이 오래 걸리지만, 높은 수준의 격리를 제공한다.
    • 컨테이너형은 호스트의 OS를 공유하며 애플리케이션 실행에 필요한 라이브러리와 바이너리만 패키징한다. 따라서 매우 가볍고 빠르며 높은 이식성을 가지는 장점이 있다.
      • 컨테이너 형의 단점 :
        • 완전이 OS와 동일한 동작을 하는건 아니다 , trade-off의 일종 -> Linux계열의 OS 와 완전히 동작을 바하면, 위에 가상머신을 사용해야함,
        • Linux , FreeBSD 가 아닌 환견을 컨테이너로 사용할 수 없다. <- 흔히 도커 설치할때 WSL로 하이퍼 바이저형으로 리눅스를 까는 이유

728x90