본문 바로가기

Docker

도커 / 서버와 가상화의 이해, 도커 동작방식의 개요

기본개념

서버의 기본 개념

  • 서버는 하드웨어와 소프트웨어를 포함하는 시스템이다.
  • 클라이언트 서버관계는 요청과 응답을 하는 관계이다
  • 애플리케이션 서버는 사용자에게 서비스를 제공하는 것이 목적인 서버이다.

서버의 유형

  • 주요종류로는 파일서버, DB서버, 웹서버, WAS 등이 있다.

서버 구동 방식

  • 베어메탈은 물리 서버에 직접 OS를 설치하는 방식이다.
  • 하이퍼바이저 방식은 가상화 기술을 활용하는 방식이다.
  • 컨테이너는 경량화된 가상화 기술을 사용하는 방식이다.

하이퍼바이저 기술

  • 호스트 OS는 물리적 하드웨어와 직접 연결된 OS를 가리킨다.
  • 게스트 OS는 가상화된 운영체제를 가리킨다.
  • 시스템 콜을 통해 리소스를 관리한다. 대표적인 도구로는 VirtualBox, VMware, RedHat이 있다.

컨테이너 가상화

  • 컨테이너 가상화는 하이퍼바이저보다 가볍과 빠른 가상화 기술이다.
  • 컨테이너는 LXC (Linux Containers) 기술에서 시작되었다.

컨테이너의 특징

  • 호스트 OS의 커널을 공유한다. 하이퍼바이저는 호스트 OS와 게스트 OS의 커널이 독립적으로 존재하며 하이퍼바이저가 두 커널간의 통신을 중계하여 처리단계가 추가됨에 따라 오버헤드가 컸다.
  • 컨테이너는 호스트 OS의 커널을 직접 사용하므로 중간 단계가 없어 오버헤드가 적다.

도커 동작 방식

  • 도커는 자체적으로 갖고 있는 컨테이너 엔진과 컨테이너 런타임으로 구성되어 있다.

컨테이너 엔진

  • 컨테이너 엔진은 사용자의 요청을 받아서 컨테이너를 관리해주는 역할을 수행한다.

컨테이너 런타임

  • 직접 커널과 통신하면서 실제로 격리된 공간을 만드는 역할을 수행한다.

도커의 아키텍쳐

  • 도커는 클라이언트 서버 구조이다. 클라이언트는 사용자의 명령을 전달해주고, 실제로 컨테이너를 관리해주는 도커 데몬이있다.

과정

  1. 사용자가 명령어를 실행한다.
  2. 클라이언트는 사용자의 명령을 도커데몬에게 전달한다.
  3. 도커 데몬은 컨테이너 관리를 진행한다 ( 데몬이라는 이름이 붙은 소프트웨어는 서버에서 지속적으로 실행되는 소프트웨어를 일컫는 말이다 )
  • 즉 클라이언트에서 요청할 때 URL도 입력하고 파라미터도 전달하고 쿼리도 전달하여 도커데몬에게 API요청을 해야하지만 docker CLI명령을 통해 API양식을 대신 작성하여 동작을 수행케한다.

 

참고: https://www.inflearn.com/course/%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-%EC%89%AC%EC%9A%B4-%EB%8F%84%EC%BB%A4

'Docker' 카테고리의 다른 글

도커 / docker hub 사용하기; pull, push  (1) 2025.01.25
도커 / 이미지 레지스트리  (1) 2025.01.25
도커 / 컨테이너 라이프 사이클 ((LifeCycle))  (0) 2025.01.25
도커 / 이미지  (0) 2025.01.25