Cloud/참고자료

컨테이너란? 컨테이너와 VM의 차이

간지나제 2022. 9. 8. 00:26

컨테이너: 소프트웨어 서비스를 실행하는 데 필요한 특정 버전의 프로그래밍 언어 런타임 및 라이브러리와 같은 종속 항목과 애플리케이션 코드를 함께 포함하는 경량 패키지

컨테이너의 이점

한 환경에서 다른 환경으로 이동될 때 애플리케이션이 올바르게 실행되지 못하는 문제는 지속되어 왔다. 이 문제는 일반적으로 구성 기본 라이브러리 요구 사항 및 기타 종속성의 차이로 발생한다.

컨테이너는 애플리케이션 패키징 및 배포에 대해 변경이 불가능한 경량 인프라를 제공하여 이 문제를 해결한다. 해당 종속성 및 해당 구성이 컨테이너 이미지로 함께 패키징되어 애플리케이션을 하나의 단위로 테스트하고 컨테이너 이미지 인스턴스로 배포할 수 있다.

컨테이너와 VM(Virtual Machine)의 차이

컨테이너와 VM 모두 소프트웨어 서비스 구동을 위한 격리 환경을 마련해준다.
하지만 분명한 차이점이 있다.

  • 컨테이너는 VM보다 훨씬 더 경량이다.
  • 컨테이너는 OS 수준에서 가상화되고 VM은 하드웨어 수준에서 가상화된다.
  • 컨테이너는 OS 커널을 공유하며 VM에 필요한 것보다 훨씬 적은 메모리를 사용한다.

주위에서 흔히 볼 수 있는 도커는 Host OS위에 도커 엔진이 있는 형태로 그 위에 애플리케이션과 바이너리 및 라이브러리가 포함된 컨테이너가 올라가는 구성이다.


https://cloud.google.com/learn/what-are-containers?hl=ko
https://azure.microsoft.com/ko-kr/resources/cloud-computing-dictionary/what-is-a-container/#overview
https://www.ibm.com/kr-ko/cloud/learn/containers
http://www.opennaru.com/cloud/virtualization-vs-container/
https://www.redhat.com/ko/topics/containers/containers-vs-vms
https://docs.microsoft.com/ko-kr/virtualization/windowscontainers/about/containers-vs-vm
https://medium.com/dtevangelist/docker-%EA%B8%B0%EB%B3%B8-3-8-container%EB%8A%94-%EB%AD%98%EA%B9%8C-bf3df8cbaf44