creative&enjoy

HS Consulting BUSINESS

Docker/kubernetes

Search posts
도커란?-가상머신과 도커의 차이
HSConsulting Hits:36942 203.247.149.208
2021-01-20 12:33:11

도커(Docker)란   리눅스 컨테이너에 여러 기능을 추가함으로써 애플리케이션을 컨테이너로서 좀 더 쉽게 사용할 수 있게 만들어진 오픈소스 프로젝트

도커엔진 혹은 도커에 관련된 모든 프로젝트를 의미

가상머신

APP A APP B
Bins/Libs Bins/Libs
Guest OS Guest OS
Hypervisor
HOST OS
SERVER

도커 컨테이너

APP A APP B
Bins/Libs Bins/Libs
Docker Engline
HOST OS
SERVER

기존의 가상화 기술은 하이퍼바이저를 이용해 여러개의 운영체제를 하나의 호스트에서 생성해 사용하는 방식(VirtualBox, VMware)-성능 손실 발생   , 공간도 크게 차지, 가상머신은 완벽한 운영체제를 생성할수 있다는 장점은 있지만  일반 호스트에 비해 성능손실이 크며   크기 때문에 가상머신이미지를 애플리케이션으로 배포하기는 부담스러운 단점

이에 비해 도커 컨테이너는 가상화된 공간을 생성하기 위해 니눅스의 자체 기능인 chroot, namespace, cgroup을 사용함으로써 프로세스 단위의 격리 환경을 만들기 때문에 성능 손실이 거의 없슴, 컨테이너에 필요한 커널은 호스트의 커널을 공유, 컨테이너 안에는 애플리케이션을 구동하는데 필요한 라이브러리 및 실행 파일만 존재하므로 용량도 대폭 줄어듬   , 배포하는 시간이 가상머신에 비해 빠르며 가상화된 공간을 사용할 때의 성능 손실도 거의 없다는 장점

 

도커 이미지는 가상 머신의 이미지와 달리 커널을 포함하지 않아 이미지 크기가 크지 않다

도커는 마이크로 서비스 구조로 여러 모듈을 독립된 형태로 구성하기 때문에 언어에 종속되지 않고 변화에 빠르게 대응, 모듈관리가 뒤워진다는 장점, 마이크로 서비스 구조의 웹서버 컨테이너만을 동적으로 늘려서 부하를 분산 웹서버 데이터베이스의 이미지 버전을 독립적으로 관리, 이와 같은 컨테이너 기반의 마이크로 서비스를 개발자가 그 구조를 직접 구현하기 보다는 쿠버네티스 등의 컨테이너 오케스트레이션 플랫폼을 통해 사용하는것이 일반적

 

 

Comment[0]

OPEN Close