NCP 취득을 위한 아래 링크의 Edwith 강의 내용 요약
Mooc 강의로 무료제공되는 강의입니다.
https://www.edwith.org/professioanl-vpc
1. Container Registry
- 컨테이너 이미지를 쉽게 저장하고 관리할 수 있는 컨테이너 레지스트리 관리 서비스
- Public/Private Endpoint 제공을 통해 나만의 컨테이너 레지스트리를 구성
- NCP내부에서도, 외부에서도 컨테이너 레지스트리에 접근 가능
- 도커 레지스틀리 HTTP API V2 지원
- 저장소로 Object Storage를 이용
- 컨테이너 관리가 용이
- 컨테이너 취약점 분석 가능
2. Docker의 활용 - Dockerfile
- 일반적으로 도커는 어떻게 사용하나?
- Dockerfile(컨테이너 이미지 Description file)을 만들고
- 빌드(Build)를 진행하면, 해당 컨테이너 이미지가 만들어짐
- 도커를 가져오는것을 get, 도커를 다시 컨테이너 레지스트리에 올리는 것을 put
- 만들어진 이미지를 run을 통해서 컨테이너를 서비스에 투입
3. 일반 VM과 컨테이너의 차이
- Virtualization 은 단일 시스템에서 여러 OS가 동시에 실행
- Container는 동일한 OS 커널을 공유하며 시스템의 나머지 부분으로 프로세스를 격리
- 기존 가상화 기반으로 많이 사용되는 OS 전체 가상화 방식이 아닌, 하나의 OS커널 위에 각각의 개별 프로세스와 그에 따른 환경을 격리화 시키는 방식이다.
- OS 가상화보다 오버헤드가 적고, 성능 손실이 적음.
4. Docker 특징 - Layered Image
- Docker는 Union Filesystem이라는 기술을 이용해 여러 Layer를 하나의 파일시스템으로 인식될 수 있도록 한다.
- OS와 종속성 없이 라이브러리에 대한 의존성 없이
- 마치 자바버추얼머신이 동작하듯이 컨테이너만 올리면 기반이 되는 OS와 상관없이 동작하도록 되어 있음
- 환경이 달라져도 도커에 올리면 동일하게 동작하므로, 개발환경과 다른 환경에서 실행해도 동
- 만약, 이미지에 수정사항이 생기면, Layer를 추가하여 변경 분만 기록하고 최상단에는 항상 R/W layer가 존재
- 공통 부분은 Container들이 공유해 사용함으로써 효율적인 이미지 관리가 가능하다.
5. Docker 특징 - Docker Hub / Docker Registry
- 사용자에 의해 생성된 이미지는 Docker Registry 라는 이미지 저장 공간에 업로드할 수 있고,
- 다른 사용자의 이미지를 공유하여 사용 가능하다.
- Docker Hub(공유), Private Registry (NCP Container Registry, ACR, ECR...)