본문 바로가기

docker

1W docker study

책 : 시작하세요! 도커/쿠버네티스 (개정판)을 이용한 Docker스터디 1W 주간 내용 정리

 

01장: 도커란?

  • 도커 관련된 프로젝트
    • 도커 컴포즈 (Docker Compose)
    • 레지스트리 (Private Registry)
    • 도커 허브 (Docker Hub)
    • Docker for Desktop
    • Docker Swarm :오케스트레이션 도구 (ex : 쿠버네티스 역활)
    • 도커 엔진
      • 가장 핵심적인 부분
      • 컨테이너를 생성하고 관리하는 주체


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

  • Docker책에 거의 필수로 있는 그림입니다.
  • Boxing된 화면이 눈에 드러난 차이점입니다.

  • 이론적으로 접근하면 해당 기본 구성 및 기술이 핵심이 아닐까?
    • 쉽게 생각해보면, 기존의 VirtualBox를 설치 후에 Ubuntu설치한것을 → Docker Engine의 역활로 통합된 의미
    • (QA) 도커 컨테이너를 지칭하는 Stack구조는 아래 파란색 박스를 의미하는 것인지?

기존 가상화 기술 Docker기술
하이퍼바이저 기술 이용 리눅스 기술 이용(chroot, namespace, cgroup)
가상머신이라는 개념 (VirtualBox, VMWare) 프로세스 단위로 격리 환경을 만듬
가상머신에 GuestOS (Ubuntu, CentOS, Window) 설치해서 사용  
일반 호스트에 비해서 성능손실/용량이 매우 큼 (단점) 성능손실이 거의 없음, 컨테이너에 필요한 커널은 호스트의 커널을 공유
GuestOS에 커널, 라이브러리 모두 별도 관리 (단점) 컨테이너 안에 실행파일 및 라이브러리만 존재


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

  • 도커라는 기술에 컨테이너(Container)라는 기술적인 요소가 항상 언급됩니다.
  • 개념잡기
    • 컨테이너 기술에는 여러가가지가 있습니다.
    • OpenVZ, LXC, cri-o등이 존재하지만 도커 컨터이너 기술이 defactor 표준으로 자리 잡음

- 1.2.1 애플리케이션의 개발과 배포가 편해집니다.

  • 서버 부팅 → Host OS → 도커 컨테이너 (HostOS에서 실행되는 격리된 공간)
    • 도커 컨테이너에 많은 SW를 설치해도 Host OS (운영체제)에는 영향이 없음

- 1.2.2 여러 애플리케이션의 독립성과 확장성이 높아집니다.

  • 마이크로 서비스 구성을 위해서 "도커 스윔모드", "쿠버네티스" 같은 컨테이너 오케스트레이션 플랫품을 주로 사용한다.


1.3 도커 엔진 설치

  • 도커 컨테이너를 사용하기 위해서 반드시 필요한 도커 엔진!!

- 1.3.1 도커 엔진의 종류 및 버전

  • libcontainer : 리눅스 컨테이너를 제어하는 API, Go로 작성됨
  • 리눅스 운영체제에서는 바로 사용 가능
  • Window, Mac에서는 별도의 가상화 공간 생성 필요
  • 2017년 이전 : 1.13 (last version)
  • 2017년 이후 (ex : 17.03-EE)
    • 도커 EE (Enterprise Edition)
    • 도커 CE (Community Edition)
      • stable / edge 버전으로 구분
      • 2020년 기준으로 도커 EE는 미란티스(mirantis)에 인수되어 운영되고 있음
      • (QA) docker사이트에 EE, CE버전이 구별되어서 제공되는 페이지는?
  • 참고)

- 1.3.2 리눅스 도커 엔진 설치

  • host os운영체계 : 3.10~ 이상 (uname -r)로  확인
  • 64bit 리눅스 
  • sudo or root 권한으로 설치 진행

 

- 1.3.3 윈도우, 맥 OS에 도커 설치

  • Docker Desktop을 이용해서 구성한다.
    • Window : Hyper-V가상화 기술을 이용
      • Docker ToolBox, VirtualBox 와 호환 안됨
    • Mac : xhyve기술을 이용
  • 단. 도커에서 제공하는 네트워크, 볼륨 기능 등 일부 지원되지 않을수 있다.
  • 가능하면, 리눅스 환경에서 도커를 사용하는 것이 권장된다.
  • (QA) 보통 실습환경이 Mac에서 어떻게 진행하시나요?
    • (QA) Mac에서 Linux환경으로 테스트 하고 싶은경우?
      • 책(P.13)에서도 VirtualBox를 설치후에 해당 리눅스 환경에서 테스트 하는 것을 가이드 (연습목적)
  • (QA) 리눅스를 사용하는 경우 Docker Desktop은 사용할 필요가 없나요? (해당 Desktop의 정확한 목적은 리눅스가 아닌 환경 지원용 인가요?)

  • Mac에서 docker desktop for mac 설치 url

 

- 1.3.4 Docker Toolbox와 Docker for Windows/Mac의 차이점


- 1.3.4 리눅스 환경에 도커 마련하기

 

 

'docker' 카테고리의 다른 글

4W docker study  (0) 2023.01.24
3W docker study  (0) 2023.01.24
2W docker study  (0) 2023.01.24