반응형

본 내용은 인프런의 데브위키님의 강의 "개발자를 위한 쉬운 도커" 내용을 바탕으로 정리한 내용입니다.

 

컨테이너란?

  • 큰 서버를 효율적으로 사용하기 위한 가상화 기술

서버란?

  • 하드웨어에서 실행 중인 소프트웨어

클라이언트란?

  • 클라이언트가 서버에 요청을 보내면 물리적인 하드웨어를 통해 소프트웨어로 전달되고 소프트웨어는 요청에 따른 기능 수행 후 결과를 응답한다.

그림 1) 서버와 클라이언트

서버의 종류

1. 파일 서버

  • 파일 업로드 / 다운로드

2. DB 서버

  • 데이터 조회 / 입력

3. 웹서버(WEB)

  • 웹 페이지

4. 웹 애플리케이션(WAS)

  • 애플리케이션

엔터프라이즈 서버 운영 방식

1. 베어메탈

  • 서버 하나 구입 후 OS 설치한 후 그 위에 여러 개의 소프트웨어를 실행시키는 방법

1. 하이퍼바이저

  • 컴퓨터에 설치되는 프로그램으로 실행해서 가상화 OS를 만들거나 실행, 종료 시킬 수 있다.
  • 서버에 호스트 OS 설치 후 하이퍼 바이저 소프트웨어를 설치해 게스트 OS(가상 머신)를 실행하고 프로세스를 구동한다.

커널이란?

  • 하드웨어에 사용 요청을 전달해주는 시스템 콜
  • 하드웨어 리소스 사용 시 커널에 시스템 콜을 보내서 자원을 사용할 수 있다.

3. 컨테이너 방식

  • 커널의 가상화 기술을 사용하는 방식이다.
  • 하이퍼바이저 방식보다 오버헤드가 적어 효율적이며 가볍고 빠르다.
  • 모든 컨테이너가 호스트 OS의 커널을 공유한다.
  • 리눅스의 LXC 기술로 프로세스를 나누고 이런 격리된 공간을 컨테이너라 한다.

그림 2) 엔터프라이즈 서버 운영 방식

가상화 기술이란?

  • 컴퓨터 안에서 여러 개의 컴퓨터를 실행할 수 있는 기술
  • 논리적인 컴퓨팅 환경
  • 여러 소프트웨어를 하나의 OS에서 운영하면 소프트웨어 하나의 문제가 전체 OS 문제로 퍼질 위험이 있기에 여러 대의 논리적 환경을 만들어서 사용한다.
  • 하드웨어의 성능은 점점 좋아지고 소프트웨어의 크기는 작아지고 있기에 기업 입장에서는 높은 사양의 컴퓨터를 한대 사용하는 것이 훨씬 경제적이기에 가상화 기술을 활용해야 한다.

도커란?

  • 커널의 컨테이너 가상화 기술을 사용하기 위한 오픈 소프트웨어
  • 컨테이너 플랫폼

컨테이너 플랫폼의 구성요소

1. 컨테이너 엔진

  • 사용자의 요청을 받아 컨테이너를 관리

2. 컨테이너 런타임

  • 직접 커널과 통신하며 격리된 공간을 만든다.

그림 3) 도커의 구성요소

 

그림 4) 도커의 동작과정

API란?

  • 상호 간의 약속을 의미하며 서로 주고 받는 데이터의 약속된 양식을 말한다.

그림 5) 도커에서는 API 역활을 하는 Docker CLI를 사용하여 도커 데몬과 쉽게 통신할 수 있다.

반응형

'Docker' 카테고리의 다른 글

[Docker] 이미지 레지스트리  (0) 2024.07.18
[Docker] 컨테이너의 라이프사이클  (0) 2024.07.18
[Docker] 메타데이터  (0) 2024.07.18
[Docker] 이미지와 컨테이너  (0) 2024.07.18
[Docker] Docker 실습 환경 세팅  (0) 2024.07.18

+ Recent posts