오픈 소스 플랫폼으로 컨테이너를 사용하여 애플리케이션의 배포, 관리 및 확장을 자동화합니다.
또한, 의존성을 포함한 애플리케이션을 표준화된 단위인 컨테이너로 패키징합니다.
“컨테이너” 라는 단어가 설명에 자주 언급됩니다. 이제 컨테이너가 무엇이고, 가상머신과 어떤 차이점이 있는지 알아봅시다.
컨테이너는 리눅스의 기능을 이용해, 마치 독립적인 가상머신인 것 같은 환경을 구성합니다. 애플리케이션 구동을 위한 라이브러리만 포함하여 이미지를 생성합니다.
반면 가상머신은 하이퍼바이저를 통해 가상화를 진행합니다. 이러한 가상머신은 완벽하게 독립적인 공간을 생성하지만, 이미지 용량이 크기 때문에 가상머신 배포에 부담이 될 수 있습니다.
컨테이너는 위의 그림과 같이 커널을 공유하여 리소스에 대한 오버헤드를 줄일 수 있습니다. 리소스 중 메모리를 자세히 살펴보며, 컨테이너의 장점을 확인해 봅시다.
가상 머신은 완벽한 독립적인 환경입니다. 할당된 메모리에서 여유분이 남아도 다른 머신이 사용할 수 없습니다. 반면 Docker는 필요한 만큼의 메모리만 사용하며 전체 시스템과 공유하여 다른 애플리케이션이 사용할 수 있습니다.
[Docker] 네트워킹: bridge vs host (0) | 2024.05.24 |
---|---|
[Docker] 데이터 저장 및 관리 방법 / bind or volume 마운트 (0) | 2024.05.24 |
[Docker] 아키텍처 architecture (0) | 2024.05.23 |
[Docker] private repository 에 image push 해보기 (0) | 2024.05.23 |
[Docker] docker 로 jenkins 설치하는법 (0) | 2024.05.17 |