반응형
본 내용은 인프런의 데브위키님의 강의 "개발자를 위한 쉬운 도커" 내용을 바탕으로 정리한 내용입니다.
컨테이너란?
- 큰 서버를 효율적으로 사용하기 위한 가상화 기술
서버란?
- 하드웨어에서 실행 중인 소프트웨어
클라이언트란?
- 클라이언트가 서버에 요청을 보내면 물리적인 하드웨어를 통해 소프트웨어로 전달되고 소프트웨어는 요청에 따른 기능 수행 후 결과를 응답한다.
그림 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 |