VM 과 Docker의 차이

2024. 9. 8. 21:29·OS/Docker

최근 교육을 통해 VM과 Docker에 대한 이론적인 설명을 들었습니다. 개인적으로 실무를 하는 것도 너무 좋았고, 모르는 부분을 내 스스로 검색을 통해 알아 간다는게 너무 좋았고 또, 뭔가 더해지는 느낌이어서 좋았습니다. 교육에서 배운 내용과 검색을 통해 추가적으로 배운 부분을 글로 쓰려합니다. 


가상머신(VM : Virtual Machine)

가상머신(VM)은 물리적 서버(host)의 하드웨어를 추상화 하여 여러 개의 가상 운영체제를 실행할 수 있게 해준다. 물리적 하드웨어 시스템에 구축되어 자체 cpu, 메모리, 네트워크 인터페이스 및 스토리지를 갖추고 있고, 가상의 컴퓨터 시스템으로 작동하는 환경이다. 가상화 기술을 통해 한 개의 물리 서버를 두 개 이상의 가상 서버로 동작시킬 수 있게 되었다. 이로 인해 서버 리소스를 낭비하지 않고 효율적으로 사용할 수 있었다. 대표적으로 Virtual Box가 있습니다. 

 

단점 : VM은 Hypervisor를 이용해 Guest Os를 생성하기 때문에 환경 자체가 상당히 무거운 단점이 있다. 


 

VM vs Conatiner


도커(Docker)

먼저 Docker가 나온 이유는 VM의 단점을 보완하기 위해 나온 게 운영체제 단에서 가상화를 실해하는 container 였고, container 기술을 편리하게 사용할 수 있도록 개발된 것이 Docker이다. Docker은 쉽게 말하면 특정 서비스를 패키징하고 배포하는 데 유용한 프로그램이다. 어떠한 런타임 환경에서도 실행 가능하도록 만들어 주는 프로그램이다. 

 

VM보다 배포하는 시간도 가상머신 보다 짧고, 성능 손실도 거의 없다!

 

특징 가상머신(VM) Docker 컨테이너
운영체제 각 VM이 독립적인 운영 체제를 가짐 호스트 OS의 커널을 공유함
시작시간 느림 빠름
리소스 사용량 높은 자원 소모 경량화된 자원 사용
격리 수준 높은 수준의 격리 프로세스 수준의 격리
이식성 제한적 높은 이식성
사용 사례 완전한 독립성이 필요한 경우 빠르고 가벼운 애플리케이션 배포 시

 

 

결론

VM과 Docker는 각기 다른 방식의 가상화 기술을 제공하며, 사용 목적에 따라 선택이 달라질 수 있다. 독립적인 운영 체제와 높은 수준의 격리가 필요하다면 VM이 적합할 수 있고, 빠른 실행 속도와 효율성을 중시한다면 Docker를 선택하는 것이 좋다.

저작자표시 비영리 변경금지 (새창열림)

'OS > Docker' 카테고리의 다른 글

[Docker] Image 삭제 & 전체 삭제  (0) 2024.09.23
[Docker] Hub에 도커 이미지 올리기  (0) 2024.09.23
[Docker]Server Login & File Save  (0) 2024.09.23
[Docker] Image 관리  (1) 2024.09.23
[Docker] 이론 및 기초 실습  (0) 2024.09.12
'OS/Docker' 카테고리의 다른 글
  • [Docker] Hub에 도커 이미지 올리기
  • [Docker]Server Login & File Save
  • [Docker] Image 관리
  • [Docker] 이론 및 기초 실습
Kouji
Kouji
Journey to Becoming a Data & Server Engineer
  • Kouji
    Kouji's Data & Server Journey
    Kouji
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Programming
        • Python
        • SQL
      • Data & AI
        • Data Analysis
        • Ai
      • Cloud(AWS)
      • OS
        • Linux
        • Docker
        • Jenkins
        • Ubuntu
        • Window
        • Kubernates
        • Ansible
      • Network
        • NVIDIA
        • Network[이론]
        • Network[GNS3, Packet]
        • Network[On-Premise]
        • Network [L2, L3]
      • 트러블 슈팅
      • Life
        • My Career Stories
        • Personal
      • 개발 + OS 지식 함양
  • 블로그 메뉴

    • 홈
    • 관리 페이지
    • 글쓰기
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    티스토리챌린지
    라우팅
    IT
    화이팅
    서버
    L3
    CISCO
    서버엔지니어
    인프라엔지니어
    리눅스
    네트워크엔지니어링
    스위치
    VMware
    클라우드엔지니어
    ubuntu
    OS
    시스템엔지니어
    네트워크
    도커
    네트워크엔지니어
    AWS
    오블완
    dns
    보안
    인프라
    Linux
    웹
    docker
    네트워크관리사
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Kouji
VM 과 Docker의 차이
상단으로

티스토리툴바