Docker

Docker 가 뭔지 알고 쓰자 ( 컨테이너 가상화 )

LEEHANDS 2022. 2. 17. 08:45
반응형

기록을 위한 지식공유로 대화법을 사용하는 점 양해부탁드립니다.

 

Docker 는 가상화 기술 중 컨테이너 가상화 의 대표 플랫폼이라는건 알고 시작합니다.

 

1. 가상화 필요성

가상화라고 많이 들어봤을 건데 왜 쓰는건지 곰곰히 생각해보자

개발자가 어떠한 어플리케이션을 만들었는데 사용하는 유저의 운영체제 에 따라 미들웨어가 다르기때문에 시스템 통합을 해야하는 문제가있다,  또 같은 시스템이라고하더라도 버전마다 호환성을 따져야할 수 있다.

개발자가 각 시스템에 맞는 개발을 할 수 없기때문에 가상화를 통해 어플리케이션 이식성을 확보한다.

 

2. 가상화 종류

2-1. 호스트 가상화

하드웨어 Base OS (호스트 OS) 를 설치하고 가상화 SW 를 구동하는 방법으로 OVERHEAD 가 크다

※ OVERHEAD 는 HAREWARE 자원으로 CPU / RAM 등등 리소스

 

2-2. 하이퍼바이저 가상화

호스트 OS 없이 하드웨어 직접제어

난해한 용어가 많아 이정도만 알자 많이 쓰지않을 것같기 때문에도 있다.

 

2-3. 컨테이너 가상화 ( DOCKER )

2-1, 2-2 는 가상화소프트웨어를 통해 OS 와 하이퍼바이저 위에서 OS를 여럿 구동시켜 많은 리소스가 필요

호스트OS상에 논리적으로 구역(컨테이너) 를 나눠 애플리케이션 동작을 위한 라이브러리/애플리케이션을 컨테이너 안에 넣고 개별 서버처럼 사용하는 것이 컨테이너 가상화

 

장점 : 오버헤드가 적어 빠르다.

3. DOCKER 의 특징

컨테이너 가상화 환경에서 앱을 관리하고 실행하기 위한 오픈소스 플랫폼

리눅스 위에서 돌아가며  GO 언어로 제작 

이식성 매우 높음

 

3-1. Docker Image

도커이미지는 App 실행에 필요한 프로그램 과 라이브러리

미들웨어와 OS

네트워크 설정

 

등이 이미지에 포함한다.

 

반응형