728x90
1. 컨테이너 기술의 발전
2. 도커 구성요소
3. 이미지와 컨테이너
4. 도커 이미지 구성과 저장소
1. 컨테이너 기술의 발전

1. Traditional Deplyment
- 하드웨어(컴퓨터) 위에 운영체제가 설치되고 그 위에 애플리케이션을 배포하고 운영
- 애플리케이션 구동에 필요한 라이브러리나 프레임워크를 운영체제에 설치하게 되고 그 후에 해당 애플리케이션 배포 및 실행이 가능
- 문제점 : 각각의 app들이 공유하는 자원(라이브러리 등)으로 인해서 충돌을 일으키게됨
2. Virtualized Deployment
- 가상머신을 이용한 가상화 형태
- 가상머신을 통해 격리된 환경에서 각각의 app들이 구동됨
- 운영체제 위에 가상머신들을 관리하는 Hypervisor 컴포넌트가 위치
- 게스트 OS를 구동하기 위해서는 컴퓨팅 자원들을 애뮬레이팅(복제) 할 필요가 있음
- 문제점 : 호스트 OS에 비해 성능이 떨어지고 가상머신으로 인한 자원의 오버헤드가 발생
* 게스트 OS : 각각의 가상머신에 돌아가는 운영체제
3. Container Deployment
- 가상화 기술 경량화, 성능 상승, 자원 오버헤드 줄이기 위한 방안으로 만들어진 가상화 기술
- Docker는 Container engine 중 하나
- 하나의 서버 위에서 컨테이너를 관리하기 위한 소프트웨어
- 호스트 OS 입장에서 Contatiner는 Process로 취급
- 다양한 격리 기술이 들어간 Process
- 호스트 OS의 커널을 공용으로 사용
4.Kubernetes Deployment
- Container Orchestration system 중 하나
- 여러 서버로 구성된 클러스터 환경에서 컨테이너들을 관리하는 소프트웨어
2. 도커 구성요소

- 클라이언트는 Docker daemon 프로세스에 무엇을 할지 명령어로 알려준다.
- daemon은 registry 또는 repository로부터 이미지를 가져온다
*docker daemon : API 요청을 수신하고 이미지, 컨테이너, 네트워크 및 볼륨과 같은 Docker 객체를 관리
3. 이미지와 컨테이너
이미지와 컨테이너는 도커에서 사용하는 가장 기본적인 단위로 1 : N 관계를 지니고 있습니다.
이미지(Image)
- 컨테이너를 생성할 때 필요한 요소로 컨테이너의 목적에 맞는 바이너리와 의존성이 설치
- 여러 개의 계층으로 된 바이너리 파일로 존재
컨테이너 (Container)
- 호스트와 다른 컨테이너로부터 격리된 시스템 자원과 네트워크를 사용하는 프로세스
- 이미지는 읽기 전용으로 사용하여 변경사항은 컨테이너 계층에 저장
-> 컨테이너에서 무엇을 하든 이미지는 영향을 받지 않습니다.
4. 도커 이미지 구성과 저장소
도커 이미지 구성
- 저장소 이름, 이미지 이름, 이미지 태그로 구성
- 저장소 이름과 이미지 태그는 생략 가능
- 이미지 태크를 생략하면 최신 리비전을 가리키는 lastest로 인식
- 저장소 이름을 생략하면 기본 저장소인 도커 허브로 인식
도커 이미지 저장소
- 도커 이미지를 관리하고 공유하기 위한 서버 어플리케이션
public
- docker hub
- QUAY
private
- AWS ECR(Elastic Container Registry)
- docker REGISTRY
참고자료
패스트캠퍼스 : Kubernetesdhk Docker로 한 번에 끝내는 컨테이너 기반 MSA(박병진)
728x90
반응형
'Docker' 카테고리의 다른 글
[Docker] 컨테이너 라이프사이클 (0) | 2024.01.14 |
---|