1. 도커의 정의
- 도커는 리눅스 컨테이너 기술을 활용해 응용 프로그램의 이미지를 생성하고 이를 컨테이너에서 자동화하여 저장, 관리, 배포를 서비스하는 오프기술이다.
2. 하이퍼바이저를 이용
애플리케이션1 | 애플리케이션2 |
실행파일/Lib 파일 | 실행파일/Lib 파일 |
게스트 운영체계 | 게스트 운영체계 |
하이퍼바이저 | |
호스트 운영체계 | |
서버 |
- 위에 있는 표는 하이퍼바이저는 가상 머신으로 VMware, VirtualBox가 예시로 있습니다.
- 호스트 운영체계는 OS로 윈도우 10, 윈도우 11이 예시로 있습니다.
- 하이퍼바이저 가상화 머신은 호스트 운영체제 윗단에 하이퍼바이저 가상화 엔진을 설치합니다. 이 하이퍼바이저(가상머신)는 여러 게스트 운영체제를 설치할 수 있는 기능을 제공합니다.
- 하이퍼 바이저 상단에 설치된 각각의 게스트 운영체제 위에 실행파일과 라이브러리 파일들과 함께 베포하기 위해서 애플리케이션을 설치합니다.
- 호스트 운영체제 상단에 또 다른 게스트 운영체제를 설치하여 자원을 공유하는 방식입니다.
- 장점: 하나의 호스트 운영체제 위에서 여러 개의 게스트 운영체제를 사용할 수 있습니다.
- 단점: 하나의 호스트 운영체제 위에 여러 개의 운영체제가 생성되어 시스템 전체 운영에 부하가 많이 걸립니다. 각각의 게스트 운영체제가 어플리케이션을 실행하므로 처리속도와 네트워크, 파일 접근이 지연되는 경우가 생길 수 있습니다.
3. 도커를 이용
애플리케이션1 | 애플리케이션2 |
실행파일/lib 파일 | 실행파일/lib 파일 |
도커 엔진 | |
호스트 운영체계 | |
서버 |
- 도커를 설치하면 상단의 별도의 게스트 운영체제를 설치할 필요가 없이 바로 필요한 실행파일과 라이브러리와 애플리케이션을 설치할 수 있습니다.
- 도커 엔진이 호스트 운영체계의 자원을 공유하여 각각의 애플리케이션에 필요한 기능을 직접 제공합니다.
- 도커 엔진 상단에 설치된 각각의 실행 파일과 애플리케이션은 서로 격리된 가상공간입니다. 하지만 별도의 게스트 운영체제가 없어 가상화란 정의 대신 컨테이너라 불립니다.
- 장점: 별도의 게스트 운영체제를 사용하지 않고 Docker 엔진이 호스트 운영체제에서 필요한 리소스를 각각의 애플리케이션과 공유할 수 있게 작동합니다. 그러므로 처리속도와 네트워크, 파일 접근 속도가 빠르고 용량을 대폭 줄일 수 있습니다.
- 단점: 하이퍼바이저처럼 다양한 운영체제를 설치할 수 없습니다.
'Docker' 카테고리의 다른 글
[Docker] MySQL을 이용한 Dockerfle로 이미지와 컨테이너 생성하기 (0) | 2022.02.02 |
---|---|
[Docker] Dockerfile로 이미지 생성하기 (3) (0) | 2022.01.31 |
[Docker] Dockerfile로 이미지 생성하기 (2) (0) | 2022.01.16 |
[Docker] Dockerfile로 이미지 생성하기 (0) | 2022.01.15 |
[Docker] 컨테이너 이미지 관리 (0) | 2022.01.15 |