(Docker) Virtual Machine(VM) & Docker(Container) 정리

VM(가상 머신)

VM 하이퍼바이저 기반 가상 머신~에 의해 호스트와 완전히 분리된 환경을 구축하고 실행할 수 있습니다. 기술오전.

VM은 일반적으로 타입1수업 타입2 2가지로 나뉘는데, 둘의 차이점은 다음과 같습니다.

VM(유형1)


VM – 유형1

Hypervisor가 H/W에 직접 설치됨기존 방식(Type 2)에 비해 H/W 접근성을 훨씬 효율적으로 설계하여 성능, 확장성, 안정성을 확보할 수 있습니다. (하이퍼바이저 자체가 불안정하면 모든 것이 불안정해진다.)

비슷하게 H/W에 직접 설치된 하이퍼바이저두번째 베어 메탈 하이퍼바이저란 무엇입니까? call (대표적으로 Xen과 Hyper-V가 Type 1에 속함)

VM(유형2)


VM – 유형 2

H/W에 설치된 OS(Host)에 하이퍼바이저 설치Type 1에 비해 HostOS를 통해서만 H/W에 접근할 수 있어 효율이 좋지 않다. 하지만 사용 중인 호스트가 있으면 호스트를 건드리지 않고도 가상화 환경을 설치할 수 있다는 장점이 있다.

비슷하게 호스트 OS에 설치된 하이퍼바이저두번째 Hosted Hypervisor라고 합니다. call (일반적으로 VMware Workstation 및 Oracle VM Virtual Box는 Type 2에 속합니다.)


도커(컨테이너)


컨테이너 기반 가상화

컨테이너~이다 소프트웨어 서비스를 실행하는 데 필요한 요소가 포함된 경량 패키지입니다.이다. (OS, 라이브러리, 애플리케이션 …)

전통적인 가상화 방식(VM) OS 가상화애플리케이션을 실행하고 컨테이너의 경우 HostOS 공유하는 동안 프로세스를 격리주문하여 서로 다른 환경(OS)에서 실행하듯이 독립적으로 응용 프로그램을 실행하는 기술사용되었습니다.

그런 Docker는 최고의 컨테이너 기술을 적용하여 등장한 도구입니다.오전. (컨테이너 기술은 Docker가 발명한 것이 아닙니다!)

도커~이다 초기에 Linux에서 개발된 LXC(Linux Container)라는 기술사용하여 컨테이너를 관리할 수 있는 도구입니다. 자체 libcontainer 개발그리고 사용 현재는 go언어로 개발된 runc를 사용하고 있습니다.하고있다

(https://github.com/opencontainers/runc/tree/main/libcontainer)

GitHub – opencontainers/runc: OCI 사양에 따라 컨테이너를 생성하고 실행하기 위한 CLI 도구

OCI 사양에 따라 컨테이너 생성 및 실행을 위한 CLI 도구 – GitHub – opencontainers/runc: OCI 사양에 따라 컨테이너 생성 및 실행을 위한 CLI 도구

github.com


VM vs 도커(컨테이너)


VM 대 도커

VM(베어메탈 또는 호스팅)은 H/W에 OS를 생성하고 앱을 실행합니다.

이것 때문에 VM은 컨테이너 기반에 비해 매우 무거운 축에 속한다. OS를 직접 탑재하기 때문에 확장성이나 기존 레거시 및 모놀리식 아키텍처를 운용한다.하기 좋은

반면에 도커(컨테이너) HostOS는 Container가 공유하기 때문에 VM에 비해 매우 가볍고, 마이크로 서비스 및 DevOps와 같은 동일한 OS를 공유하는 프로젝트.에서 운영하기 좋은

VM과 도커(컨테이너)를 비교하여 어느 것이 더 좋고 나쁨을 판단하기 보다는 각각의 구조와 특성을 이해하고 상황에 맞는 환경을 구축하여 활용하는 것이 도움이 될 것으로 생각됩니다.