docker - 배경지식

작성일자:

웹 페이지를 배포하기 위해 docker을 사용해 볼 것이다.

image 도커의 이미지. 고래의 위에 컨테이너가 올려져 있다.

도커의 정의

위키백과에서는 도커를 다음과 같이 정의하고 있다.

‘도커(docker)는 리눅스의 응용프로그램들을 소프트웨어 컨테이너(Container) 안에 배치시키는 일을 자동화하는 오픈소스 프로젝트이다.’

컨테이너

정의에서 언급된 컨테이너는, 실제 선박에서 사용되는 컨테이너와 유사한 양상을 갖고 있다.

  1. 선박에서의 컨테이너 : 물건을 싣고, 포장하고, 선박을 통해 운송된다.
  2. 프로그램에서의 컨테이너 : 프로그램을 실행하는데 필요한 환경과 프로그램을 포장하고, 프로그램의 배포와 관리를 용이하게 해준다.

가상화와 VM (Virtual Machine)

  1. 가상화는 컴퓨터의 자원을 똑 떼서 프로그램, 저장공간, 하드웨어 자원을 하나로 엮어주는 방식을 뜻한다. (큰일났다. 벌써 어렵다)
    image
  2. 이러한 가상화를 통해 가상머신 (VM)을 만들어 낼 수 있다. 가상머신은 컴퓨터의 자원을 일부 활용하여 컴퓨터 내에 컴퓨터를 구현하는 것을 의미한다.
    ex) 윈도우 내에서 리눅스를 가동시킴
  3. 컨테이너는 이와 같은 개념을 사용하지만, 가상화 방식에서 차이점이 있다… 이러한 점만 알아둘 것이다.
    대충 차별화된 가상화 방식을 통해 컨테이너는 속도가 빠르고, 높은 집적도(하나의 머신으로 많이 실행) 등의 장점을 갖는다.

이 컨테이너라는 개념은 “리눅스 환경에서 돌아가는 일종의 프로세스” 정도로 이해하고 넘어갈 것이고, 도커는 이 컨테이너라는 개념의 관리 및 이용하는데 있어 이점을 갖는다는 정도만 이해하고 넘어갈 것이다. 필요하다면 차후 더 알아볼 예정이다.


도커(Docker)

도커는 컨테이너를 지원하는 프로젝트 중 하나일 뿐, 도커 = 컨테이너를 의미하는것은 아니다. 그러나, 이미 존재하는 여러 기술들을 조합하여 사용자의 이용을 편리 하게 만들었으므로 사실상 업계 표준이 되었다고 한다.

도커 이미지 (Docker Image)

도커 이미지는 도커를 이해하기 위한 또 하나의 개념으로, 여기서 이미지 라는 단어는 우리가 알고있는 사진과 같은 개념이 아니다.

  1. 도커에서 이미지란, 컨테이너 실행에 필요한 모든 파일과 설정을 포함한 것으로, 변하지 않는것 이다. 즉, 읽기 전용으로, 수정이 불가능하다.
  2. 말 그대로 컨테이너 실행에 필요한 모든 준비물이 포함되어 있으므로, 이 이상의 프로그램을 설치하거나 설정을 해줄 필요가 없다.
  3. 이를 이용하여, 미리 만들어진 이미지를 다운로드 받고 추가적인 컨테이너만 생성하면 되므로 서버를 늘리는데 있어 큰 이점을 갖는다.

레이어(Layer) 저장방식

위와 같은 방식에선 큰 단점이 있다. 모든 이미지마다 실행에 필요한 모든 요소들을 포함하고 있으므로 큰 용량을 갖고 있는데, 도커에서는 이를 해결하기 위해 레이어 저장방식을 활용한다

image

이 또한.. 단점을 보완하기 위한 특수한 저장방식을 이용한다는 점만 인식해두고 넘어갈 것이다.

### 용어정리 image


위 내용은 공부한 내용을 바탕으로 정리한 결과이며, 오류가 존재할 수 있습니다.

카테고리:

업데이트:

댓글남기기