Container & K8S/Docker

[Docker] 도커란? 도커와 컨테이너 정리

dhyuck 2021. 8. 22. 02:47
반응형

도커란? 컨테이너란?

도커는 컨테이너를 실행하고 관리하는 오픈 소스 플랫폼입니다.
컨테이너는 리눅스 커널에서 제공하는 Namespcae, Cgroups 등의 기능을 사용하여 만든 독립적인 가상의 어플리케이션 실행환경을 의미하며 어플리케이션 실행에 필요한 모든 파일을 패키지화시킨 소프트웨어의 표준 단위입니다.

도커가 설치되고, 이미지만 있다면 어디서든 실행 할 수 있어서 개발과 배포 환경을 동일하게 구성 할 수 있습니다.


컨테이너와 가상머신(VM)의 차이점

독립적인 실행환경을 제공한다는 점에서 컨테이너와 가상머신은 비슷합니다.

하지만 컨테이너는 기본적으로 OS가 존재하지 않고, 도커 엔진에 의해 통제가 이루어집니다.

때문에 게스트 OS를 포함하고 하이퍼 바이저 위에서 동작하는 가상머신보다 오버헤드가 적고 실행이 빠릅니다.


도커 용어

  • 도커 이미지(Docker Image) : 도커 이미지는 어플리케이션을 실행하는데 필요한 모든 정보(소스코드, 라이브러리, 종속성..)을 가지고 있는 소프트웨어 패키지로 이미지를 실행시키면 컨테이너가 됩니다.
  • 도커 파일(Docker File) : 도커 이미지를 빌드하기 위한 정보가 담긴 파일로 도커 엔진이 이미지를 만들기 위해 참조하는 CLI 목록입니다.
  • 도커 컨테이너(Docker Container) : 도커 이미지의 인스턴스이며, 종료시 모든 데이터가 휘발됩니다.
  • 도커 엔진(Docker Engine) : 도커 데몬(서버)과 도커 클라이언트(CLI) 를 포함하며, 보통 도커를 말한다면 도커 엔진을 뜻합니다.
  • 도커 데몬(Docker Daemon) : 도커 이미지, 컨테이너, 네트워크, 볼륨을 관리하는 백그라운드 프로세스로 도커 아키텍쳐에서 서버에 해당하며, 도커 클라이언트로 부터 명령을 받아 수행합니다.
  • 도커 클라이언트(Docker Cient) : REST API 등을 사용하여 도커 데몬과 통신하며, 사용자에게 CLI환경을 제공합니다.
  • 도커 레지스트리(Docker Registry) : 도커 이미지를 저장하고 배포하는 시스템입니다. 도커 허브(Docker Hub)는 퍼블릭한 도커 레지스트리이며, 프라이빗한 개인 레지스트리도 만들수 있습니다.
  • 도커 컴포즈(Docker Compose) : 여러개의 도커 어플리케이션을 정의하고 실행하기 위한 도구이며, YAML 파일을 사용하여 어플리케이션 서비스를 구성합니다.

참고

반응형