Docker란

han·2022년 1월 16일
0

Overview

기존에 개발환경을 셋팅하려면 운영체제부터 온갖 프로그램을 하나하나 깔아야 했다.
수많은 시행착오를 거쳐야 하는데 그 과정에서 온갖 에러에 시달리게 된다.
또한 이러한 프로그램들을 설치하고나면 어느 한 프로그램이 리소스를 많이 사용하여 시스템 전체에 과부하가 걸릴 수도 있다.
이를 해결하기 위한 방식중 하나가 vm이다.
vm은 물리서버위에 격리된 가상 서버를 두는것으로 이를 통해 위 문제를 해결할 수 있으나, 운영체제 전체를 깔아야 한다는 점 때문에 무겁다는 단점이 있다.
무거운 운영체제는 공유하고, 꼭 필요한 파일만 가지고 container 내에서 어플리케이션을 실행시킬 수는 없을까?
여기서 나온것이 바로 docker이다.
docker는 리눅스 기반 container runtime으로 vm보다 훨씬 가볍게 배포가 가능하다.

Docker 특징

  1. 운영체제를 공유하므로 실행이 빠르다.
  2. 컨테이너 간에 격리되어있으므로 어느정도의 보안성을 보장한다.
  3. 버전관리 및 롤백을 지원한다.
  4. 플랫폼(os) 의존적이다.
  5. 컨테이너 갯수가 많아지면 오케스트레이션이 쉽지않다.

0개의 댓글