ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [시작하세요! 도커 1장] 도커란?
    DevOps 2020. 6. 22. 10:06
    반응형

    일반적으로 도커라고 하면 도커 엔진 혹은 도커에 관련된 모든 프로젝트를 의미합니다.

     

    1.1 가상 머신과 도커 컨테이너

     

     기존의 가상화 기술은 하이퍼바이저를 이용해 여러 개의 운영체제를 하나의 호스트에서 생성해 사용하는 방식이었습니다. 가상화 작업은 하이퍼바이저를 반드시 거치기 때문에 일반 호스트에 비해 성능의 손실이 발생합니다. 그뿐만 아니라 가상 머신은 게스트 OS를 사용하기 위한 라이브러리, 커널 등을 전부 포함하기 때문에 배포를 위한 이미지를 만들 때 크기가 커지는 단점이 있습니다.

     

     이에 비해 도커 컨테이너는 가상공간을 프로세스 단위의 격리 환경을 만들기 때문에 성능 손실이 거의 없습니다. 컨테이너에 필요한 커널은 호스트의 커널을 공유해 사용하고 컨테이너 안에는 애플리케이션을 구동하는 데 필요한 라이브러리 및 실행파일만 존재하기 때문에 이미지 크기가 대폭 감소합니다.

     

    https://tech.osci.kr/2020/03/03/91690167/

     

    1.2 도커를 시작해야 하는 이유

     

    첫 번째 : 애플리케이션의 개발과 배포가 편해집니다.

     

     도커 컨테이너 내부에서 수많은 소프트웨어를 설치하고 설정 파일을 수정해도 호스트 OS1에는 영향을 끼치지 않습니다. 즉, 독립된 개발 환경을 보장받을 수 있다는 것입니다.

     

     컨테이너 내부에서 여러 작업을 마친 뒤 운영 서버에 배포하려 한다면, 도커 이미지로 만들어 전달하기만 하면 됩니다. 서비스를 개발했을 때 사용했던 환경을 다른 서버에서도 컨테이너로서 똑같이 복제할 수 있기 때문에 개발/운영 환경의 통합이 가능해집니다.

     

    두 번째 : 여러 애플리케이션의 독립성과 확장성이 높아집니다.

     

    https://www.slideshare.net/awskorea/architecture-conversion-strategy-from-monolith-to-microservice-seon-yong-park

     

     마이크로서비스 구조는 여러 모듈을 독립된 형태로 구성하기 때문에 언어에 종속되지 않고 변화에 빠르게 대응할 수 있으며, 각 모듈의 관리가 쉬워진다는 장점이 있습니다. 컨테이너는 수 초 내로 생성, 시작이 가능할 뿐만 아니라 여러 모듈에게 독립된 환경을 동시에 제공할 수 있기 때문에 마이크로서비스 구조에서 가장 많이 사용되고 있는 가상화 기술입니다.

     

     예를 들어, 웹 서비스는 데이터베이스 컨테이너와 웹 서버 컨테이너로 분리할 수 있고, 웹 서비스에 부하가 발생할 시 마이크로서비스 구조의 웹 서버 컨테이너만을 동적으로 늘려서 부하를 분산할 수 있습니다. 이와 같은 컨테이너 기반의 마이크로서비스는 개발자가 그 구조를 직접 구현하기보다는 도커 스웜 모드, 쿠버네티스 등의 컨테이너 오케스트레이션 플랫폼을 통해 사용합니다.

     

     


    1. 서버를 부팅할 때 실행되는 운영체제

    반응형
Designed by Tistory.