docker란 무엇인가

1409 단어 도커creatus기초

본 기사의 목적



2017년 현재 붐이라기보다 필수 스킬이 된 도커를 공부하여 시대에 뒤떨어진 엔지니어가 되지 않도록 한다
docker를 포함한 애플리케이션의 기반(앱 자체가 아니라)을 구축함으로써 저층의 부분도 의식할 수 있는 엔지니어가 된다

docker 개요



컨테이너형 가상 환경



Linux 커널이 가지는 「컨테이너」기능등을 사용해 실행 환경을 다른 프로세스로부터 격리해, 그 안에서 어플리케이션을 동작시킨다.
컨테이너는 Linux의 통상의 프로세스와 거의 같은 것이지만, 이용할 수 있는 이름 공간이나 자원이 다른 프로세스나 컨테이너로부터는 격리되어 각각 고유의 설정을 가질 수 있게 되어 있다. 따라서 컨테이너의 응용 프로그램에서 볼 때 별도의 컴퓨터에서 실행되는 것처럼 작동합니다.
그리고 컨테이너는 Linux 커널이 가지는 다음의 기능을 이용해 실현하고 있다.

네임스페이스 격리 기능



파일 시스템이나 컴퓨터명, 유저명(유저 ID), 그룹명(그룹 ID), 프로세스 ID, 네트워크 기능 등을 컨테이너마다 독자적으로 설정할 수 있다.

리소스 격리 기능



CPU나 메모리, 디스크 I/O등을 컨테이너내에서 이용하는 자원을 다른 컨테이너로부터 격리하거나 설정에 근거해 배분하는 기능.

하이퍼바이저형(VMware등의 종래의 가상 환경)과의 차이



그림 1


도 1을 참조하면, 컨테이너뿐만 아니라 docker (컨테이너 관리 프로세스) 자체도 호스트상의 애플리케이션 레벨에서 동작한다. docker 자체는 Linux에 원래 있는 가상화 관련 기술을 조합하는 것과 동시에, 그들을 관리하는 기능을 제공하고 있다.

요약



종래의 하이퍼바이저형에 비해 가벼운 것(동작뿐만 아니라, 운반도)을 읽을 수 있다.
다음 번, 또 한번만 좌학을 하고, 그 다음에 실제로 움직여 보자.

다음호

좋은 웹페이지 즐겨찾기