Container

DaewoongJeon·2021년 5월 13일
0
  • 커널 : 시스템의 모든 것을 완전히 통제하는 컴퓨터 프로그램
  • 커널의 역할
  1. 보안 : 컴퓨터 하드웨어와 프로세스의 보안을 책임
  2. 자원 관리 : 한정된 시스템 자원을 효율적으로 관리하여 프로그램의 실행을 원활하게 한다. 특히 프로세스에 처리기를 할당하는 것을 스케줄링이라 한다.
  3. 추상화 : 하드웨어에 직접 접근하는 것은 문제를 매우 복잡하게 만들 수 있다. 운영 체제의 복잡한 내부를 감추고 깔끔하고 일관성 있는 인터페이스를 하드웨어에 제공하기 위해 몇 가지 하드웨어 추상화(같은 종류의 장비에 대한 공통 명령어의 집합)들로 구현된다.
  • 컨테이너란?
    : 컨테이너는 실행에 필요한 모든 파일을 포함하여 전체 런타임 환경에서 애플리케이션을 패키지화하고 분리하는 기술입니다.

  • 컨테이너 vs VM(Virtual Machine)

  1. container는 호스트 PC의 커널을 공유하고 따라서 init(1) 등의 프로세스가 떠있을 필요가 없으며, 따라서 가상화 프로그램과는 다르게 적은 메모리 사용량, 적은 overhead를 보입니다.
  2. 실제 하드웨어인 것처럼 에뮬레이션(emulation)을 하는 VM과 달리 container는 호스트 PC의 자원을 그대로 활용하기 때문에 VM에 비해 성능 저하가 눈에 띄게 적습니다.
  • 컨테이너의 이점
  1. 일관성 있는 환경
    : 개발자는 컨테이너를 이용해, 다른 애플리케이션과 분리된 예측 가능한 환경을 생성할 수 있습니다.
  2. 폭넓은 구동 환경
    : 소프트웨어 구동 환경이 무엇이든 컨테이너를 사용할 수 있습니다.

0개의 댓글