본문 바로가기
IT/도커

도커(Docker)란 무엇인가? 도커 개념 정리

by №㏇㏂〓▥ 2022. 12. 29.
728x90

도커(Docker) 등장 배경

다양한 서버를 관리하고 운영하는 일은 쉬운 작업이 아니다.

시스템 환경, 방화벽, 권한, 필요 유틸 및 프로그램 설정 등 서버에 필요한 설정을 한다면 대부분의 IT 담당자들은 야근 작업이 필수일 것이며, 이렇게 작업을 한다해도 순조롭게 진행되지는 않는다.

OS버전문제, 유틸간의 충돌문제 등 다양한 문제가 발생하게 된다.

이런 서버 관리 방식의 변화가 필요했고, 이를 해결하기 위해 도커(Docker)가 등장하게 되었다.

 

도커(Docker) 정의

리눅스 컨테이너(Linux Container) 기반의 오픈소스(Opensource) 가상화 플랫폼이다.

 

도커(Docker) 의 주요 특징

  • 사실상(de-facto) 업계 표준
  • MSA(Micro Service Architecture)의 단점인 관리의 복잡성을 해결해주기 위한 Container 지원
  • 어플리케이션 실행환경을 코드로 작성가능
  • OS를 공유, 격리화하여 관리할 수 있음
  • 다양한 프로그램(Program)과 실행환경을 컨테이너로 규격화, 배포, 관리
  • 규격화된 프로그램은 다른 환경에서도 빠르게 실행 가능

 

도커(Docker)  구조

도커 구조

출처 : https://www.docker.com/resources/what-container/

 

도커는 컨테이너 기반으로 독립적인 실행환경을 구성한다. 

컨테이너와 가상머신(Virtual Machine)과의 차이점을 알아보자.

 

1) 가상머신(VM : Virtual Machine)

-Hypervisor 기술을 기반으로 컴퓨터 인프라 리소스(CPU, MEMORY)들을 VM별로 배분하고, VM별 독립적인 GuestOS를 가지며 독립적인 환경을 제공한다.

  • OS단위 가상화
  • VM 종류에는 VirtualBox, VMware 등이 있음.
  • 개발환경이나 사용자 환경을 이미지로 저장, Host OS 위에 Guest OS를 올려 운영하는 방식
  • 하드웨어를 가상화하므로 컨테이너 기술보다 무겁다.

2) 컨테이너(Container)

  • 어플리케이션 단위 가상화
  • 리눅스 컨테이너(LXC)를 이용한 기술
  • Host OS 자원 공유
  • 어플리케이션 격리성 제공하므로 가상머신보다 많이 가벼움

 

 

 

 

 

728x90

댓글