A set of platform as a service products that uses OS-level virtualization to deliver software in packages called containers
- Streaming server에 container/특정 stream을 구글 CDN에서 가능하게 한다.
- Cloud computing에서 중요한 기술
Light in size compared to Virtual machine(GB -> 50MB). 여러 작업의 throughput을 개선 시켰다.
VM과 Container의 차이
Vm
- 메모리 과도 점유
- Boot up time 느림
- Scale up 어려움
- portability 제한
- VM 사이에서 Data volume 공유 불가능
- 효율이 낮음
Container
- 훨씬 적은 메모리 점유
- Boot up time 빠름
- container engine을 사용하여 성능 저하 적음
- scale up 쉬움
- platform에 좌우되지 않음
- Docker volume을 여러 container들이 공유
- 높은 효율
Docker Architecture
- docker engine은 사용자의 컴퓨터에 설치하여 docker container를 build하고 run하는데 사용하는 소프트웨어
- Client-server
- REST API
- docker client는 docker command를 실행하며, 이러한 명령들은 REST API를 통해 docker daemon에거 전달한다.
- Docker daemon은 전달받은 명령에 따라 os의 기능을 사용하여 container를 실행함
- REST API = HTTP 프로토콜로 두 SW사이에서 통신하도록 제공된 API