Docker ?
도커는 컨테이너 기반의 가상화 기술이다. Docker는 기존의 가상화 기술과 구분하기 위해서 이미지와 컨테이너의 개념을 사용하고 있다.
이미지는 필요한 응용을 설치한 뒤에 파일형태로 만든 것이며, 컨테이너는 이미지를 실행한 상태를 말한다.
하나의 이미지를 사용해서 여러 개의 컨테이너를 만드는 것이 가능하다.
컨테이너 ( Container )
- 컨테이너는 격리된 공간에서 프로세스가 동작하는 기술입니다. 가상화 기술의 하나지만 기존 방식과는 차이가 있다.
기존의 가상화 방식은 주로 OS 를 가상화 하였습니다.
VMware , VirtualBox 같은 가상머신은 호스트 OS 위에 게스트 OS 전체를 가상화하여 사용하는 방식.
이 방식은 여러가지 OS를 가상화 할 수 있고 비교적 사용법이 간단하지만 무겁고 느려서 운영환경에선 사용할 수 없었습니다.
하나의 서버에 여러개의 컨테이너를 실행하면서 서로 영향을 미치지 않고 독립적으로 실행되어 마치 가벼운 VM을 사용하는 느낌을 준다.
이미지 (Image)
- 이미지는 컨테이너 실행에 필요한 파일과 설정값등을 포함하는 있는 것으로 상태값을 가지지 않고 변하지 않습니다. 컨테이너는 이미지를 실행한 상태라고 볼 수 있고 추가되거나 변하는 값은 컨테이너에 저장됩니다.
같은 이미지에서 여러개의 컨테이너를 생성할 수 있고 컨테이너의 상태가 바뀌거나 컨테이너가 삭제되더라도 이미지는 변하기 않고 그대로 남아있습니다.
말그대로 이미지는 컨테이너를 실행하기 위한 모오오든 정보를 가지고 있기 때문에 더 이상 의존성 파일을 컴파일하고 이것저것 설치할 필요가 없습니다. 이제 새로운 서버가 추가되면 미리 만들어 놓은 이미지를 다운받고 컨테이너를 생성만 하면 됩니다. 한 서버에 여러개의 컨테이너를 실행할 수 있고, 수십, 수백, 수천대의 서버도 문제 없습니다.
'간단용어' 카테고리의 다른 글
REST API (0) | 2021.02.07 |
---|---|
REST (0) | 2021.02.07 |
초기화 지연 ( Lazy initialization ) (0) | 2021.01.31 |
REDIS (0) | 2021.01.22 |
서브쿼리 위치에 따른 명칭 (1) | 2021.01.22 |