브렌쏭의 Veritas_Garage

[Docker] Container 본문

[Project_하다]/[Project_공부]

[Docker] Container

브렌쏭 2024. 8. 1. 17:42

Containerization

  • Containerization is a lightweight alternative to full machine virtualization that involves encapsulating an application in a container with its own operating environment.

Containerization은 애플리케이션을 자체 운영 환경과 함께 컨테이너에 캡슐화하는 전체 머신 가상화의 가벼운 대안이다.

  • 가상화 소프트웨어 없이도 운영 체제의 리소스를 격리해 가상 운영 체제로 구성 가능
  • 컨테이너를 만들면서 발생하는 오버헤드는 다른 가상화 SW 보다 적음
    • 실제로 완전히 격리된 환경을 제공하지 않기 때문
  • 빠르게 시작 및 종료
  • 적은 리소스 사용(상대적으로)

Hypervisor

  • Hypervisor is a firmware or low-level program that acts as a virtual machine manager.
  • It allows multiple operating systems to share a single hardware host.
  • Each operating system appears to have the host's processor, memory, and other resources all to itself.

Hypervisor는 가상 머신 관리자로 작동하는 펌웨어 또는 저수준 프로그램이다.
하나의 하드웨어 호스트를 여러 운영 체제가 공유할 수 있게 한다.
각 운영 체제는 호스트의 프로세서, 메모리 및 기타 리소스를 독점하는 것처럼 보인다.

  • Type 1 Hypervisor: Runs directly on the host's hardware to control the hardware and to manage guest operating systems.
    • ex) VMware vSphere/ESXi, Microsoft Hyper-V, Oracle VM Server for SPARC
    • Bare-metal Hypervisor
    • Native Hypervisor
  • Type 2 Hypervisor: Runs on a conventional operating system just as other computer programs do.
    • ex) VMware Workstation, VMware Player, Oracle VirtualBox, Parallels Desktop for Mac
    • Hosted Hypervisor
    • Desktop Hypervisor

Type 1 Hypervisor의 경우, Type 2 Hypervisor보다 성능이 더 좋다. 왜냐하면 Type 1 HypervisorHost OS를 거치지 않고 Hardware에 직접 접근하기 때문이다. 반면 Type 2 HypervisorHost OS를 거쳐야 하기 때문에 성능이 떨어진다.

Docker

누가 도커 쓰냐 도커 컴포즈 하지

  • VM의 성능 문제를 개선하기 위해 프로세스를 격리하는 방식의 도커가 등장했다.
  • Docker Engine은 LXC(LinuX Container)를 이용하여 가상화 환경을 제공한다.
  • Guest OS를 설치하지 않고 프로그램이나 라이브러리만 격리해서 설치하며, Host OS와 하드웨어 자원을 공유하여 프로세스가 필요한 만큼만 사용
Comments