도커와 컨테이너

윤원영·2023년 12월 18일
post-thumbnail

가상화란?

서버에서 여러개의 프로그램을 운영할 때 프로그램의 충돌을 방지하기 위해 하나의 물리적 서버 호스트에서 여러개의 서버 운영체제를 게스트로 실핼할 수 있게 해주는 것이다. 서버의 자원을 각 게스트에게 나눠주고 독립된 OS들에서 운영되는 구조이다. 이를 위해 하이퍼바이저를 사용하여 하나의 호스트 위에 여러개의 운영체제를 생성하고 관리한다.

가상머신의 단점

  • 독립된 공간을 만드는 작업이 하이퍼바이저를 반드시 거쳐야 하기때문에 성능 손실이 발생한다.
  • 게스트 운영체제를 사용하기 위한 라이브러리와 커널이 모두 포함되기때문에 용량이 크다

-> 애플리케이션의 크기에 상관없이 독립된 가상환경을 만들면 용량이 크고 자원 손실이 생긴다.

도커란? (Docker)

도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다.
사용하는 애플리케이션을 컨테이너로 격리하여 실행하는데, 이 컨테이너들을 다루는 도구가 도커이다.

컨테이너(Container)

컨테이너는 앱이 구동되는 환경까지 감싸서 실행할 수 있도록 하는 격리 기술이다.
즉, 구동하려는 애플리케이션을 실행할 수 있는 환경까지 감싸서, 어디서든 쉽게 실행할 수 있도록 해주는 기술이다.
컨테이너를 사용하면 프로세스 단위로 격리 환경을 만들기 때문에 용량이 줄어든다.
가상머신에 비해 용량이 작으므로 성능이 빠르고 손실도 거의 없다.

profile
반갑습니다

0개의 댓글