지난 시간을 통해 도커가 무엇인지 가볍게 알아볼 수 있었다.
이번 시간에는 도커의 3가지 컨셉을 알아보자!
🙋♀️ 들어가기 전에 .. 도커의 구성에 대해 살펴보자
도커 컨셉 1️⃣ 도커 API
🙋♀️API?
API = Application Program Interface
- 다른 SW를 제어하기 위해 약속한 인터페이스를 말한다
- 웹, 운영체제 등에서 제공하는 광범위한 용어
ex) 개발자는 운영체제 API를 이용해 운영체제의 기능을 호출하여 시스템 프로그램을 작성할 수 있다
🙋♀️도커의 API: 도커 Deamon
그렇다면 도커에서 API가 무엇일까?
도커 간단한 구성 사진을 보면 server 쪽에 도커 Daemon이 있다.
docker를 쓸 때는,
이 도커 Daemon으로 명령어를 보내 사용할 것임을 간단하게 알아두자!
🙋♀️ 도커 Daemon (서버) 위치는 어디에 있죠..?
맞다.
도커 Daemon으로 명령어를 보낸다고 했다.
이때
🖥️ client = 도커 명령어를 사용하는 부분 (개발자가 docker 명령어를 실행하는 부분)
🖥️ server(=docker daemon) = 도커 명령어를 처리하는 서버
client, server 모두 한 컴퓨터에 존재함을 기억하자.
여러분이 도커를 설치하게 되면
도커를 설치한 그 컴퓨터에 client, server가 모두 구동된다.
도커 컨셉 2️⃣ 도커 컨테이너
🙋♀️컨테이너가 뭐죠?
- 2014년 리눅스 컨테이너 (LXC) 기술로 처음 소개된 개념
- 리눅스 자원이 격리된 환경 그 자체를 말함
- 라이브러리, 코드, 런타임 등 시스템을 실행하는 데에 필요한 모든 것을 포함하는 개념
- 프로세스를 격리시키고, 독자적인 리눅스 시스템 환경을 구축
(포토샵같은 윈도우즈/맥 전용 프로그램 가동 불가다!)
- 호스트 컴퓨터 입장에서, 컨테이너는 프로세스이다
(호스트 컴퓨터 =도커를 실행하는 전체 컴퓨터, 즉 여러분의 컴퓨터를 말한다!)
🙋♀️도커는 리눅스 위에서 실행된다!
도커 엔진은 리눅스 위에서 실행되는 것이 기본이다!
(단, macos/윈도우 os에서도 하이퍼바이저와 도커 데스크톱을 이용해 구동 가능하다)
도커 컨셉 3️⃣ 도커 컨테이너 이미지
🙋♀️컨테이너 이미지?
🙋♀️컨테이너 저장소? (image registry)
- 이 저장소로 컨테이너 이미지를 공유하고(push),
반대로 저장소로부터 컨테이너 이미지를 가져올 수 있다 (pull)
ex) 도커 허브 Explore Docker's Container Image Repository | Docker Hub
ex) quay.io https://quay.io
🙋♀️도커 이미지의 layer?? 그렇다면 실행시킨 다음의 데이터는 어디에?
도커 이미지는 여러 계층(layer)으로 이루어져 있다고 했다.
(참고로, Linux의 UnionFS개념을 통해 여러 snapshot을 하나의 파일 시스템처럼 동작하도록 한다)
수정 사항이 생긴다면 위에 layer가 추가되어 쌓이는 형태이다.
단, 이러한 layer 구조에서는
⭐️ 정리: 도커 컨셉 정리!
- 컨테이너
- 이미지
- 컨테이너 이미지
- 도커 장점
참고
- 도커 레지스트리 종류 설명 https://smoh.tistory.com/290
- 도커 이미지 layer 구조의 단점 - 책 '그림과 실습으로 배우는 도커 & 쿠버네티스'
'클라우드 > 도커' 카테고리의 다른 글
[도커] 도커 4: docker 파일 1 (Dockerfile) (3) | 2024.11.14 |
---|---|
[도커] 도커 3: docker 명령어 모음 2탄 (도커 이미지 관련 명령어) (3) | 2024.11.13 |
[도커] 도커 2: docker 명령어 모음 1탄 (도커 컨테이너 관련 명령어) (1) | 2024.11.12 |
[도커] 도커 0: 도커가 뭐고 왜 쓰나요? (1) | 2024.11.10 |
자주 사용하는 Dockerfile(도커파일) 모음 (0) | 2024.11.08 |