책 : 시작하세요! 도커/쿠버네티스 (개정판)을 이용한 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구조는 아래 파란색 박스를 의미하는 것인지?
- 쉽게 생각해보면, 기존의 VirtualBox를 설치 후에 Ubuntu설치한것을 → Docker Engine의 역활로 통합된 의미
기존 가상화 기술 | 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기술을 이용
- Window : Hyper-V가상화 기술을 이용
- 단. 도커에서 제공하는 네트워크, 볼륨 기능 등 일부 지원되지 않을수 있다.
- 가능하면, 리눅스 환경에서 도커를 사용하는 것이 권장된다.
- (QA) 보통 실습환경이 Mac에서 어떻게 진행하시나요?
- (QA) Mac에서 Linux환경으로 테스트 하고 싶은경우?
- 책(P.13)에서도 VirtualBox를 설치후에 해당 리눅스 환경에서 테스트 하는 것을 가이드 (연습목적)
- (QA) Mac에서 Linux환경으로 테스트 하고 싶은경우?
- (QA) 리눅스를 사용하는 경우 Docker Desktop은 사용할 필요가 없나요? (해당 Desktop의 정확한 목적은 리눅스가 아닌 환경 지원용 인가요?)
- Mac에서 docker desktop for mac 설치 url
- https://docs.docker.com/desktop/install/mac-install/
- 유료화 정책이 있습니다. (250명 직원 이상 또는 매출이 아래 기준을 넘으면 무료가 아닙니다)
- 1.3.4 Docker Toolbox와 Docker for Windows/Mac의 차이점
- 1.3.4 리눅스 환경에 도커 마련하기
- Virtualbox : https://www.virtualbox.org/wiki/Downloads
- 최신버전에서는 VM구성시 사용자 계정 입력하는 부분이 예전과 달라졌습니다.
- Ubuntu 20.04 (LTS버전) : https://releases.ubuntu.com/20.04/
'docker' 카테고리의 다른 글
4W docker study (0) | 2023.01.24 |
---|---|
3W docker study (0) | 2023.01.24 |
2W docker study (0) | 2023.01.24 |