
처음으로 도커환경을 쓰게 되면서 여러 전문적인 블로그들을 살펴보면서 익히는 과정을 가졌는데, 처음 도커를 접하는 사용자가 쉽게 도커란 시스템을 이해할 수 있는 눈높이의 글이 있었으면 좋겠다는 생각이 들었다. 도커 입문자들이 보고 쉽고 빠르게 이해할 수 있는 글이 되었으면 좋겠다.
도커의 탄생 배경
기존에 서버를 관리한다는 프로세스는 매우 복잡한 일이였다. 각 패키지의 버전을 관리하고, 때로는 테스트 서버를 설치하고 하는 과정에서 설치과정이 꼬여 OS부터 다시 설치하는 일들이 벌어지곤 하였다.
이런 번거로운 패키지의 버전관리와 수정, 설치과정들을 일괄되게 정리하고 순식간에 가상화 환경을 설치하는 것을 간편화 하기 위해 탄생했다.
도커란?
한줄로 표현한 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다.

컨테이너
가장먼저 네모난 화물박스가 떠오릅니다. 컨테이너가 있기 전에는 특정한 크기나 부피를 가지지 않은 물건들이 무작위로 널브러져 운송을 했고, 그 과정에서 여러 장비들과 노동력들이 들어가게 됩니다. 공간의 효율성, 물건의 파손 분실 등등 여러 문제들이 있었다. 이후 컨테이너의 등장으로 대량의 물건을 구분지어 운반하고 컨테이너의 규격에 맞춘 장비들을 이용함으로써 비용과 효율이 급격히 상승합니다.
도커의 컨테이너 개념 역시 이와 비슷합니다. 다양한 프로그램, 운영체제 및 실행환경들을 컨테이너 단위로 추상화하여 동일한 인터페이스를 제공하며, 배포 및 관리를 아주 손쉽게 가능하게 한다.
Docker VS VM(Virtual Machine)

기존의 OS를 격리하여 구동하는 방식인 VM System은 성능 이슈가 발생하였고, 이를 개선하기 위해서 프로세스를 격리하는 방식이 등장하게 된다.
도커는 프로세스를 기준으로 격리하기 때문에 더욱 더 가볍고 빠르게 동작이 가능해졌고 성능 저하도 거~~의 없어졌다
하나의 서버에서 여러개의 프로세스들이 독립적으로 동작하고 이에 따라 가벼운 VM을 쓰는 느낌을 준다.
'Docker' 카테고리의 다른 글
| Docker 주요 개념 2가지 ( 이미지, 컨테이너 ) (0) | 2021.10.10 |
|---|