본문 바로가기
Study/Docker

Day 1. 도커(Docker)란?

반응형

위키북스에서 나온 "시작하세요! 도커/쿠버네티스" 개인 공부 포스트입니다

http://www.yes24.com/Product/Goods/84927385

 

시작하세요! 도커/쿠버네티스 - YES24

본서는 도커를 처음 접하는 개발자를 위한 도커 컨테이너와 이미지의 기본적인 개념을 먼저 설명한 뒤, 도커 컴포즈와 스웜 모드를 통해 컨테이너 애플리케이션을 YAML 파일로 작성하고 클러스

www.yes24.com


1. 가상 머신과 도커 컨테이너

  • 게스트 운영체제 ( 가상 머신 )
    • 기존 가상화 기술은 하이퍼바이저를 이용해 여러 개의 운영체제를 하나의 호스트에서 생성해 사용하는 방식이였다
    • 이렇게 생성된 운영체제는 게스트 운영체제(Guest OS)하고 하며, 각각 완전히 독립된 공간과 시스템 자원을 할당받는다
    • 대표적인 가상화 툴로는 VirtualBox, VMware 등이 존재합니다
  • 게스트 운영체제의 단점
    • 하이퍼바이저를 통해 시스템 자원을 가상화하고 독립된 공간을 생성하기 때문에 일반 호스트에 비해 성능의 손실이 발생
    • 가상 머신은 게스트 운영체제를 사용하기 위한 라이브러리, 커널 등을 전부 포함하기 때문에 이미지의 크기도 커진다
    • 즉 완벽한 운영체제를 생성할 수 있다는 장점이 있지만, 성능 손실이 발생하며, 수 기가 바이트의 크기를 갖는 부담이 생긴다
  • 도커 컨테이너를 사용해야하는 이유
    • 가상화된 공간을 생성하기 위해 리눅스 자체 기능인 chroot, 네임스페이스, cgroup을 사용하므로 프로세스 단위의 격리 환경을 만들기 때문에 성능 손실이 거의 없다
    • 컨테이너에 필요한 커널은 호스트의 커널을 공유해 사용하고, 필요한 라이브러리 및 실행 파일만 컨테이너 안에 적재해 이미지 크기 또한 가상 머신에 비해 대폭 줄어든다
    • 결국 이미지로 만들어 배포하는 시간이 가상 머신에 비해 빠르며, 가상화 된 공간을 사용할 때의 성능 손실도 거의 없어졋다
  • 도커 컨테이너의 장점 ( 자세히 )
    • 어플리케이션의 개발과 배포가 편해진다
      • 도커 컨테이너는 호스트 OS 위에서 실행되는 격리된 공간
      • 따라서 컨테이너 내부에서 수많은 소프트웨어를 설치하고 설정 파일을 수정해도 호스트 OS에는 영향을 끼치지 않는다
      • 즉 독립된 개발 환경을 보장받음
    • 여러 어플리케이션의 독립성과 확장성이 높아진다
      • 컨테이너는 수 초 내로 생성, 시작이 가능할 뿐만 아니라 여러 모듈에게 독립된 환경을 동시에 제공할 수 있기 때문에 MSA(마이크로서비스 구조)에서 가장 많이 사용되고 있는 가상화 기술입니다
  • 도커 엔진의 종류 및 버전
    • 도커 EE는 유료로 제공되는 기업용 솔루션
    • 도커 CE는 무료로 제공되는 도커 엔진으로 도커 엔진 자체의 핵심적인 기능을 무료로 사용 가능
    • 도커 CE의 edge 버전은 새로운 기능을 먼저 사용해 볼 수 있다는 장점이 있지만 각종 버그 발생 가능성이 있다
    • 가능하면 도커 CE의 stable 버전을 사용할 것을 권장
  • 리눅스 도커 엔진 설치
    • 확인 사항
      • 최신 버전 커널을 사용하고 있는지 확인
        • 호스트 운영체제가 최소 3.10 버전 이상인지 확인
        • uname -r 명령어를 통해 커널 버전 확인 가능
        • 오래된 버전의 커널을 사용한다면 도커가 정상적으로 작동 안 할 수 있다
      • 지원 기간 내에 있는 배포판인지 확
        • 리눅스 배포판의 지원 종료 여부를 확인해야한다 ( 업데이트 등의 지원을 못 받을 수 있다 )
      • 64비트 리눅스인지 확인
        • 도커는 64비트에 최적화 되어있다
      • sudo 명령어를 통해 실행 or root 권한을 소유한 계정에서 설치를 진행
    • 우분투 14.04, 16.04, 18.04 설치 방법
      
      # Ubuntu  
      
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -  
      
      add-apt-repository \
      "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
      
      apt-get update
      
      apt-get install docker-ce
    • CentOS 7
      
      # CentOS
      
      yum install -y yum-utils
      
      yum-config-manager \
      --add-repo \
      https://download.docker.com/linux/centos/docker-ce.repo
      
      yum install -y docker-ce
      
      systemctl start docker​


    • 도커에서 제공하는 설치 스크립트로 설치하기
      
      # install script
      
      wget -q0- get.docker.com | sh​
    • 설치가 잘되었는지 도커 동작 확인
      docker info​
  • 맥 OS에 도커 설치
    • 기존에 윈도우와 맥 OS X에서 도커를 사용하려면 도커 툴박스라는 패키지를 설치해야했다
    • 그러나 최근에는 자체 가상화 기술을 사용한 도커가 출시되어 버추얼 박스를 이용하지 않고 도커 설치가 가능해졌다
    • Docker for Mac 설치
 

Install Docker Desktop on Mac

 

docs.docker.com

 

728x90
반응형

'Study > Docker' 카테고리의 다른 글

Day 3. 도커 볼륨이란?  (0) 2021.09.02
Day 2. 도커 컨테이너 다뤄보기  (0) 2021.08.25