Docker는 기존의 마이크로 서비스 아키텍쳐를 사용할 때, 가상 머신을 이용하는 것과 유사한 독립성을 갖추게 하지만 더 나은 성능과 확장성 등의 이점을 가진다. 요즘은 사실상 표준이라고 할 정도로 많은 회사들에서 Docker를 이용해서 여러 어플리케이션을 운영하고 있다.
가상머신과 비교해서 Docker가 어떤 이점이 있는지 알아보자.

마이크로 서비스를 운영하는데에 가상머신을 이용할 수 있을 것이다. 이는 충분히 가능한 이야기이고 여러 장점이 있다.
가상머신을 이용함으로써 얻을 수 있는 이점이 무엇이 있을까?
첫 번째로 캡슐화가 가능하다. Host OS 안에서 가상머신을 실행하면 각 가상머신은 기본적으로 독립적으로 동작한다. 그렇기 때문에 한 가상머신에서 한 서버를 내리고 점검을 한다고 하면 다른 가상머신에 있는 서버는 이에 영향을 받지 않고 그대로 서비스 할 수 있다.
두 번째로는 서버마다 요구하는 조건에 맞춰 환경을 구축할 수 있다.
세 번째는 가상머신의 이미지를 쉽게 복제할 수 있어서 같은 서버 환경을 빠르게 추가로 구축할 수 있다.
크게 이 정도 장점이 있다. 그렇다면 왜 가상머신을 사용하지 않고 Docker를 사용하는 것일까?

Docker는 가상머신과 비슷하게 독립성과 확장성 등에 이점이 있다. 그러나 가상머신은 부팅이 느리고, 서버 운영에 필요하지 않은 여러 잡다한 것들도 설치되게 된다. 그리고 가상화에 필요한 PC의 자원이 불필요하게 많이 필요하다. 그래서 Docker를 사용하여 이러한 문제들을 해결할 수 있다. 참고로 Linux 상에서는 Docker engine이 바로 실행될 수 있지만 Windows와 macOS에서는 OS에서 제공하는 컨테이너를 이용해서 가상화를 하여 Docker engine을 실행한다.
'공부 > Docker' 카테고리의 다른 글
| [Docker] GCP에서 Docker 및 Docker-Compose 설치하기 (0) | 2024.05.17 |
|---|---|
| [Docker] EC2에서 Spring Cloud Config refused 에러 해결하기 (0) | 2024.05.14 |
| [Docker] Image & Container (0) | 2024.01.31 |