2024.09.15 - [DevOps/Docker] - [DOCKER] 도커 설치 및 컨테이너 개념과 동작 원리
이전 포스팅에서는 EC2 인스턴스를 생성하고 인스턴스 내부에 도커를 설치해봤다.
이번에는 도커가 어떻게 생겼는지 알아보자
컨테이너 아키텍처
BUILD | SHIP | RUN |
환경 시작(컨테이너 생성) | 이미지 생성(컨테이너 저장소에 저장) | 실행, 관리, 스케일링 |
출처 : https://docs.docker.com/get-started/docker-overview/
- DOCKER_HOST : 리눅스 운영체제의 Docker daemon이 동작되는 서버를 앞선 포스팅에서 만들었다.
- Registry : 컨테이너 이미지가 보관된 저장소, 컨테이너 이미지는 읽기 전용
- Container Image : 읽기 전용의 컨테이너 템플릿
- 애플리케이션 실행환경, 소스, runtime(여러개의 layer)이 포함된 독립된 컨테이너 애플리케이션
> 다운로드 받은 컨테이너 이미지 위치
- Container : 하나의 프로세스, 호스트 운영체제의 커널을 공유
- 호스트 입장에서 프로세스 중 하나라는 점은 변함없지만, 완벽히 격리되어 운영된다는 차이점
컨테이너 이미지 레이어
- 이미지는 한 개 이상의 불변의 읽기전용 레이어의 2집한인 Union 파일 시스템
- 가장 아래 Base Image부터 블록 쌓듯 레이어가 배치되어 overlay(여러 개의 레이어를 하나로 보여주는 것) 구현
- 컨테이너가 실행될 때(docker run 할때) Container layer(read/write 레이어)가 상단에 배치(생성)되고 전체 레이어를 merge
컨테이너 레지스트리
이 곳이 바로 컨테이너 레지스트리에 해당한다.
- registry : 컨테이너 이미지를 보관하고 있는 저장소
- repository : 하나의 컨테이너 이미지에 대해 태그를 사용해 다양한 출시버전을 보관하는 곳
- 레지스트리 > 레파지토리 > 컨테이너 이미지
- Public Regisrty : 누구나 이용할 수 있는 공개된 레지스트리
- Docker Hub : hub.docker.com
- Redhat Quay : quay.io
- AWS : gallery.ecr.aws
- Cloud Registry : CSP가 제공하는 레지스트리
- Amazon ECR, Azure container registry, GCP Artifact Registry, NHN Container Registry 등
- Private Registry : 온프레미스 환경으로 사내에서 운영할 수 있는 오픈소스 레지스트리
- Harbor
- GitLab Container Registry
- docker registry
'DevOps > Docker' 카테고리의 다른 글
[DOCKER] 컨테이너 스토리지 관리 (2) | 2024.10.07 |
---|---|
[DOCKER] Docker 명령어 총정리 (2) | 2024.09.16 |
[DOCKER] 도커 설치 및 컨테이너 개념과 동작 원리 (2) | 2024.09.15 |