728x90
반응형
Doker
기존의 가상화 단위
- 하드웨어 전체: VirtualBox, Vmware 등
- OS 전체: Xen 및 Hyper-V 프로그램 등
- 하이퍼바이저 사용에 따른 리소스 소모로 성능 저하 발생한다.
컨테이너형 가상화의 장점
- 효율성
- 호스트 OS의 프로세스로써 컨테이너 형태로 격리된 상태에서 동작 (OS 상에서 실행되는 커널 기능 활용한다.)
- 컨테이너에 별도의 루트 디렉토리 (접속 가능한 파일 범위) 할당되어 호스트 환경과 다른 네트워크 IP 주소 할당한다.
Docker 이미지
- 컨테이너가 움직이는동안은 파일을 변경해도 원본 이미지가 변경되지않음(immutable infrastructure)
- 패키지 업데이트 시, 새로운 이미지를 바탕으로 한 컨테이너를 재 실행 (컨테이너 구성을 고정화)
- Doker 이미지 빌드는 서비스가 실행되지 않은 상태에서 커맨드 자체 만 실행한다.
Docker를 사용하는 이유
배포 방식에 따른 문제점
- 전통적 방법
- 개발과 테스트가 끝난 프로그램이 다른 머신에서는 동작하지 않을 수 있다.
- 운영체제 및 라이브러리 업데이트 등으로 인한 환경 변화
- 해당 머신에서 실행되는 다른 프로그램의 영향 등
- 가상 머신을 이용하는 방법
- 가상 머신 각각에 OS를 설치해야 하며 CPU와 메모리 등을 할당 받아 사용하므로 오버헤드가 발생한다.
- 가상 머신 각각에 OS를 설치해야 하며 CPU와 메모리 등을 할당 받아 사용하므로 오버헤드가 발생한다.
- 컨테이너 방식
- 가상머신을 관리하는 하이퍼바이저 부분이 Container Runtime (Docker)로, 가상 머신 부분이 Container로 대체
- 프로그램 구동을 위해 OS를 매번 설치할 필요가 없다.
728x90
반응형
'CS 대학강의' 카테고리의 다른 글
[CS 1-2 | 프로그램 설계 방법론] VS Code에서 Java 개발환경 셋팅하는 법 (0) | 2022.12.05 |
---|---|
[CS 1-2 | 아카데믹 글쓰기] 글 수정할 때 꿀팁 (0) | 2022.11.28 |
[CS 1-2 | 아카데믹 글쓰기] 초고쓰기 실습 (0) | 2022.11.23 |
[CS 1-2 | 아카데믹 글쓰기] 글쓰기의 시작, 초고 쓰는 방법 5주차 (0) | 2022.11.21 |
[CS 1-2 | 프로그램 설계 방법론] CS 1학년 JAVA 강좌 마지막 과제 (0) | 2022.11.20 |