https://aws.amazon.com/ko/compare/the-difference-between-docker-vm/
1) 도커와 VM의 차이점
- 도커와 가상 머신은 애플리케이션 배포에 사용되는 두 가지 기술입니다.
소프트웨어 개발 수명 주기에서 배포는 최종 사용자를 위해 실행할 애플리케이션 코드를 준비합니다.
도커는 개발자가 컨테이너라는 표준화된 단위로 사용하는 오픈 소스 플랫폼입니다.
- 컨테이너에는 라이브러리, 시스템 도구, 런타임을 비롯한 애플리케이션 코드와 해당 환경이 모두 갖춰져 있습니다.
도커를 사용하면 어떤 시스템에서든 애플리케이션을 배포하고 규모를 조정하며 코드가 일관되게 실행되도록 할 수 있습니다.
- 반면 가상 머신은 물리적 머신의 디지털 사본입니다.
동일한 호스트 운영 체제에서 고유한 개별 운영 체제가 실행되는 여러 가상 머신을 보유할 수 있습니다.
개발자는 가상 머신을 구성하여 애플리케이션 환경을 생성합니다.
가상 머신에서 도커 컨테이너를 실행할 수도 있습니다.
2) 가상화: 도커와 가상 머신
- 가상화를 통해 서버 및 네트워크와 같은 실제 리소스의 가상 인스턴스를 만들 수 있습니다.
컴퓨팅에서 가상화를 사용하면 가상화된 구성 요소의 격리된 여러 인스턴스가 실제 구성 요소에서 작동할 수 있습니다.
- 예를 들어, 물리적 서버에서 여러 가상 서버를 실행할 수 있습니다.
여러 가상 인스턴스에서 실제 리소스를 공유하면 활용도가 높아지고 운영 비용도 절감됩니다.
가상화는 상당한 양의 애플리케이션 개발 및 배포의 기반입니다.
(1) 가상 머신
- 이름에서 알 수 있듯이 가상 머신은 전체 머신의 가상화를 제공합니다.
가상 머신은 CPU, 메모리, 네트워크 인터페이스 카드,
USB 컨트롤러 및 사운드 카드와 같은 물리적 머신의 하드웨어 구성 요소를 에뮬레이션 합니다.
- 가상 환경에서 게스트 운영 체제와 여러 애플리케이션을 실행할 수 있습니다.
가상 머신은 클라우드 기술을 가능하게 했으며, AWS에서는 가상 머신을 인스턴스라고 합니다.
이러한 클라우드 인스턴스는 AWS에서 소유 및 유지 관리하며 API를 통해 사용할 수 있습니다.
(2) Docker
- VM을 사용하면 모든 하드웨어에서 가상 머신을 실행할 수 있습니다.
도커를 사용하면 모든 운영체제에서 애플리케이션을 실행할 수 있습니다.
도커는 컨테이너라고 하는 격리된 사용자 공간 인스턴스를 사용합니다.
- 도커 컨테이너에는 고유한 파일 시스템, 종속성 구조, 프로세스 및 네트워크 기능이 있습니다.
애플리케이션은 컨테이너 내부에 필요한 모든 것을 갖추고 있으며, 어디서나 실행할 수 있습니다.
도커 컨테이너 기술은 기본 호스트 운영 체제 커널 리소스를 직접 사용합니다.
'CS Fundamental' 카테고리의 다른 글
[CS Fundamental] Base64 인코딩 (0) | 2024.09.20 |
---|---|
[CS Fundamental] 좋아하는 IDE에서 자주 사용 하는 기능들 또는 특별히 좋은 기능들 (0) | 2024.09.19 |
[CS Fundamental] PNG 포맷에서 투명을 어떻게 표현하나요? (0) | 2024.09.16 |
[CS Fundamental] CORS란? (0) | 2024.09.14 |
[CS Fundamental] Dynamic Programming, A* 알고리즘, B+ 트리에 대해서 아는 대로 설명하라. (0) | 2024.09.09 |