카테고리 없음

Container(Docker) VS 가상서버(VM)

JUN0126 2022. 6. 10. 16:33

Docker와 가상서버에 대해 알아보기 전에 가상화가 무엇인지, 왜 사용하는지에 대해 알아보겠습니다.

 

가상화란 ?

- 현재 물리적인 컴퓨터의 자원 성능들은 엄청나게 발전해왔습니다. 이렇게 향상된 컴터의 성능을 효율적으로 사용하기 위하여 남은 자원들을 사용하여 서비스들을 한 서버에다가 올릴 수 있습니다. 하지만 모든 서비스를 한 서버 안에 올린다면 안정성에 문제가 있을 수도 있습니다

그래서 자원을 활용하여 다른 서비스를 한 서버에서 관리 할 수 있도록 하는것이 서버 가상화의 개념입니다.

 

VM(Virtual Machine) 이란?

 - 자원을 분할하여 가상 서버에 Guest OS라는 가상서버에서 사용되는 OS를 할당하여 실제 Host 에 있는 운영체제와 상관없이 다른 운영체제를 사용하여 가상의 서버를 생성하여 서비스를 관리 할 수 있습니다.

- 가상 서버를 만들기 위해서는 Hypervisor이라는 가상화 엔진이 필요하며, 그 위에 Guest OS를 올려 사용하는 방식입니다.

- Host와 완전히 분리되어 보안성이 높다는 장점도 있지만, Host OS 위에 OS를 또 올리기 때문에 컨테이너 환경 보다는 보다 무겁고 느립니다.

컨테이너(Container)란?

 - 가상서버처럼 OS 자체를 가상화 시키는것이 아닌 OS 레벨의 가상화로 프로세스를 격리시켜 동작하는 방식입니다.

 - Host에서 사용중인 운영체제를 사용하므로 보다 가볍지만, 다른 운영체제를 사용할 수 없다라는 단점도 있습니다.

가상머신과 Docker 비교

 

Docker란?

 컨테이너(Container) 기반의 가상화 오픈소스 플랫폼이다. 

  - Docker에서 Image를 다운로드 받아 사용중인 서버에 컨테이너 단위로 서비스를 관리 할 수 있게끔 해줍니다.

 - 도커를 통하여 소프트웨어를 배포할수 있으며, 공개적으로 이미지들을 공유할 수 있습니다.

 

사용 예 )

현재 개발자의 노트북에서 개발을 위한 환경 설정을 이미지화 하여 Docker에 이미지를 공유할 경우, 개발된 서비스를 사용하는 사용자는

따로 설정이 필요 없이 운영체제만 맞추어 준다면 해당 서비스 환경 설정을 이미지 다운로드만을 통해 사용할 수 있습니다.

 

 

 

참조 :

https://khj93.tistory.com/entry/Docker-Docker-%EA%B0%9C%EB%85%90

https://myjamong.tistory.com/297