IaaS와 PaaS의 장점만 모은 컨테이너와 도커에 대해 알아보자.

컨테이너
컨테이너는 애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 옮겨 실행될 수 있도록
모든 종속성을 패키징하는 소프트웨어의 표준 단위이다.
컨테이너는 OS를 공유하기 때문에 빠르고, 경량화되어 있으며, 격리성도 훌륭하다.
그러나 하나의 OS를 공유하기 때문에 OS에 문제가 생기면 여러 앱에 영향을 미칠 수 있다.
도커
| IaaS | PaaS | Docker | |
| 유연성 | 높음 | 낮음 | 높음 |
| 이식성 | 높음 | 낮음 | 높음 |
| 운영비 효율 | 낮음 | 높음 | 높음 |
도커는 컨테이너에 필요한 기능을 거의 모두 제공하는 플랫폼이다.
애플리케이션 구동에 필요한 환경 설정 관련 절차를 도커 파일에 작성하고,
그 후 빌드하면 도커 이미지가 생성된다.
도커 이미지를 실행시키면 도커 컨테이너가 만들어진다.
이렇게 준비가 되면, 도커 컨테이너에 설정된 프로그램, 데이터 등이 실제 컴퓨팅 자원 위에서 돌아가게 된다.

1. 도커 파일
: 패키지, 환경 변수 설정 등을 기록한 텍스트 파일이다.
이를 빌드해 도커 이미지로 변환한다.
2. 도커 이미지
: 컨테이너 실행에 필요한 파일과 설정값, 데이터 등을 포함하는 상태값이다. 불변한다.
하나의 이미지로 여러 컨테이너를 생성할 수 있다.
컨테이너가 중단/삭제 되더라도 이미지는 독립적으로 그대로 존재한다.
3. 도커 컨테이너
: 컨테이가 실행되면 도커 이미지에 설정된 프로그램, 데이터 등이 실제 컴퓨팅 자원과 연결된다.
도커 활용
도커 컨테이너를 기반으로 클라우드에 컨테이너를 배포하여 많은 서비스가 운영되고 있다.
참고: inflearn 강의 'CS 지식의 정석 - 큰돌'
'컴퓨터 공학 & 통신' 카테고리의 다른 글
| [개념 정리] 클래스, 객체, 인스턴스 (1) | 2023.06.30 |
|---|---|
| [개념 정리] CI/CD (0) | 2023.06.30 |
| [개념 정리] 클라우드 - IaaS, PaaS, SaaS (0) | 2023.06.29 |
| [개념 정리] 클라우드 - 가상 머신, 오프프레미스/온프레미스 (0) | 2023.06.28 |
| [개념 정리] API (0) | 2023.06.27 |