컨테이너(Container)?
호스트 OS상에서 논리적인 구획(컨테이너)를 만들어, 어플리케이션을 작동시키기 위해 필요한 라이브러리나 어플리케이션등을 하나로 모아 별도의 서버인 것처럼 사용할 수 있게 만드는 것 이다.
컨테이너 VS 가상머신(VM)

1. 가상머신 (VM)
- 가상머신 VM은 Host OS(메인 운영체제) 위에 Hypervisor를 사용합니다.
- Hypervisor ? : 단일 하드웨어에서 여러 가상 머신들을 호스팅 할 수 있게하는 프로그램입니다.
- Hypervisor 위에 Guest OS를 구동하여 그 위에 각기 다른 운영체제가 필요한 프로그램등을 구동 할 수 있습니다.
A. 가상머신의 장점?
- 가상 머신은 Guest OS를 사용하여 각기 다른 환경에서 동작하기 때문에 Guest OS위의 한 모듈이나 프로그램이 문제가 생겨도, 다른 Guest OS위에서 작동하는 프로그램은 영향을 받지 않는다.
- 위와 같은 이유로 한 서비스에서 보안상 문제가 발생하더라도 다른 Guest OS 위의 서비스는 영향을 받지 않는다.
B. 가상머신의 단점?
- Host OS위에 Guest OS를 구축하여야 하기 때문에, 운영체제 수준의 설정이 필요하기 때문에 Guest OS를 늘릴 때마다 많은 용량을 차지합니다.
2. 컨테이너 (Container)
- 컨테이너는 가상머신의 오버헤드 문제로 인하여 만들어지게 되었습니다.
- Docker engine을 사용하여 Hypervisor와 Guest OS를 대체 할 수 있습니다.
A. 컨테이너의 장점?
- 컨테이너는 가상 머신에서의 Guest OS를 구축하는데 많은 량의 저장공간이 필요한 문제를 개선하였습니다.
- 가상 머신 보다 실행하는데 훨씬 더 빠릅니다.
B. 컨테이너의 단점?
- 각 서비스가 가상머신과 달리 낮은 결합으로 이루어져 있기 때문에, 한 서비스에서 문제가 발생할 경우 서비스를 사용하는 모든 다른 서비스들이 문제가 생기게 된다.
- 이러한 점과 같이 하나의 서비스에서 보안상의 문제가 발생하면, 모든 서비스가 보안상의 문제가 동일하게 발생되게 됩니다.
부족한 점이나 고칠점이 있으시면 댓글 부탁드립니다!
반응형
'Docker' 카테고리의 다른 글
| 2. 도커 와 쿠버네티스 ? (0) | 2022.03.09 |
|---|
댓글