Docker 명령어가 Client의 역할을 한다.

 

Docker Engine이 띄어져 있는 곳을 Docker Host 이다.  

Docker HOST에는 images랑 Containers가 있다.

images를 어떻게 관리를 하냐면, image는 직접 bulid하는 방법, 혹은 pull 명령어를 통해 remote해서 가져오는 방법이 있다.

 

이미지를 가져올 때 쓰는 것을 registry(이미지 저장소) 라고 한다.

이미지저장소에서 다른 사람들이 공유해준 이미지를 가져와서 로컬 도커 호스트에 저장할 수 있고,

이미지 저장소로 부터 실행을 시키면 Container가 된다.

 

 

위의 그림 처럼, 이미지와 컨테이너는 1:N 관계 이다.

 

 

 

위의 그림은, Docker가 Image를 만들 때 사용하는 file이 Docker File이 있다. 이걸 준비해서 BUILD를 수행하면,

Docker Image가 만들어 진다. Docker Image를 Docker Run명령어를 통해서  실행시키면 Docker Container가 된다.

이런 기본적인 작업 Cycle이 있다. 

 

 

위의 그림처럼 Repository Name/Image Name:Image Tag를 통해 이름을 구성한다.

Image Tag를 생략하면, 최신 리비전을 가리킨다.

저장소 이름이 생략되면 도커 허브로 인식 된다. 

 

 

 

< Docker 이미지 저장소 >

도커 이미지 저장소는 Docker image를 관리하고 공유하기 위한 서버 어플리케이션 이다.

Public과 private으로 나뉜다.  Public은 Dockerhub와 Quay가 있다.

비공개형 이미지 저장소는 기업에서 이미지를 관리하고 공유하는 목적이다. 주로 AWS ECR을 통해 팀 내에 비공개 형태로 운영하다. Docker Registry도 가능하다.

 

< 구성 요소 >

Docker Registry를 통해서 Ubuntu나 cassandra, Oracle에서 사전에 준비된 이미지를 통해 Pull,run 명령어를 통해 HOST에 이미지 저장 되고, Container를 실행 시킴으로써 Docker Demon이 Container를 관리할 수 있게 된다.

 

 

출처: FastCampus Kubernetes와 Docker로 한 번에 끝내는 컨테이너 기반 MSA

'Docker' 카테고리의 다른 글

Docker란?  (0) 2023.05.12
커널(kernel)  (0) 2023.05.12
Devops가 걸어온 길  (0) 2023.05.11
기존 인프라와 차이점/글로벌 인프라/AWS 리전  (0) 2023.05.11

+ Recent posts