도커 구성요소
일단 이전시간에 우리가 설치한 docker-cli가 Client가 됩니다. 우리는 그리고 동일한 서버에 client와 host가 깔려 있지만, Docker daemon ( Docker engine )이라고 불리는게 Ubuntu에 설치 되어있습니다. 위와 같이 Docker daemon이 띄워져 있는 서버를 Docker_HOST라고 합니다. 이 Docker_daemon이 Images, Containers를 사용하게 됩니다.
docker image를 만드는 방법은 ( build, pull )하는 방법이 있습니다. 이미지를 가져올 때 사용하는 것이 Registry ( 이미지 저장소 )라고 할 수 있습니다. 그리고 이 이미지 저장소로 부터 Container를 실행하는 매커니즘이라고 보시면 됩니다.
도커 이미지와 컨테이너
이미지와 컨테이너는 도커에서 사용하는 가장 기본적인 단위입니다. 따라서 이미지와 컨테이너는 1:N관계입니다.
이미지 (Image)
기존의 인스턴스를 만들 때 AMI이미지나 iso이미지가 필요했던 것처럼 컨테이너를 만들기 위한 이미지가 필요하다고 보시면 됩니다. 이는 컨테이너의 목적에 맞는 바이너리와 의존성이 설치되어 있게 됩니다. 그리고 이는 여러 개의 계층으로 된 바이너리 파일로 존재합니다.
컨테이너 (Container)
컨테이너는 호스트와 다른 컨테이너로부터 격리된 시스템 자원과 네트워크를 사용하는 프로세스 입니다. 이미지는 읽기 전용으로 사용하여 변경사항은 컨테이너 계층이 저장합니다. 그리고 컨테이너에서 무엇을 하든 이미지는 읽기 전용이므로 영향을 받지 않습니다.
간단히 Dockerfile이라는 파일을 준비한다음에, -> docker build를 통해서 Docker image를 만듭니다 -> docker run을 통해서 이미지를 기반으로 container를 만듭니다. 그리고 image < -- > container는 아래의 우리가 익숙한 관계와 유사합니다!
도커 이미지 이름 구성
가장 formal한 이미지 이름 형식은 2번째 입니다. 저장소 이름 / 이미지 이름 : 이미지 태그 ( 버전, 리비전 )으로 나타내게 됩니다.
그리고 만약 태그를 생략하면 최신 리비전을 가리키는 latest가 생략되었다고 생각하시면 되고, 저장소 이름이 생략된 경우 도커 허브인 도커 레지스트리에서 pull해 왔다고 보시면 됩니다. 그리고 이미지 태그와 저장소 이름을 모두 생략하면 당연히 가장 최신버전을 말합니다.
도커 이미지 저장소
도커 이미지 저장소는 당연히 서버 어플리케이션입니다. 그리고 이는 Public, Private로 나눌 수 있습니다. Public은 공개형으로 누구나 접근해서 사용할 수 있는 저장소를 말합니다. 여기에는 dockerhub, QUAY가 대표적으로 있게 됩니다.
그리고 private은 기업내에서 비공개로 이미지를 저장하고 사용하기위해 사용합니다. 대표적으로는 AWS ECR, docker REGISTRY가 있습니다.
'DevOps > AWS Architecture' 카테고리의 다른 글
[ Docker && Kubernetes ] - 도커 컨테이너 다루기: 엔트리포인트와 커맨드 (0) | 2022.08.27 |
---|---|
[ Docker && Kubernetes ] - 도커 컨테이너 다루기 & 컨테이너 라이프사이클 (0) | 2022.08.27 |
[ Docker && Kubernetes ] - 개요 (0) | 2022.08.27 |
[ DevOps ] - (테라폼을 이용한 인프라 관리) 실습 AWS VPC에 OpenVPN구성 (1) | 2022.08.03 |
[ DevOps ] - (테라폼을 이용한 인프라 관리) 테라폼 워크스페이스 디렉토리 구성 전략 (0) | 2022.08.03 |