https://iximiuz.com/en/posts/implementing-container-runtime-shim/
Implementing Container Runtime Shim: runc
What is a container runtime shim? Why the shim is needed? How to use OCI container runtime (runc) in command line and from code.
iximiuz.com
구조
- dockerd
- Container Engine- 개발자 경험에 집중
- High-level task 처리
- login / build / inspect / attach - Swarm과 같은 orchestration 지원
- Docker swam : docker engine의 cluster
https://docs.docker.com/engine/swarm/
Swarm mode overview
docs.docker.com
- containerd
- Container Manager- High-level runtime
- container runtime을 실행
- 네트워크 관리
- containerd-shim
- shim : 틈을 메우는 나무/쇠- low-level runtime에 대한 abstraction 제공
- container가 살아있을 때까지 살아있음
- container의 stdin/stdout 등 stream 관리
- docker attach
- runc
- OCI runtime- container 생성/실행을 위한 command-line tool
- container 프로세스를 실행(fork/exec) 후 종료됨
- container
- 평범한(regular) Linux process
- dockerd보다 오래 살아있음
- virtualized OS 환경에서 동작
- File System / Network / PID / UID / namespaces / veth / bridge network devices
- Engine과 Runtime의 차이
- Engine
- Runtime 안에 포함됨
- 실질적인 low-level 동작의 주체 - Runtime
- Engine을 포함
- API를 통해 기능을 제공 (Engine을 활용하여 기능 수행)
- Engine
https://medium.com/@misbahulalam/uncover-the-javascript-engine-vs-runtime-6556ef449634
Uncover the JavaScript: Engine vs Runtime
We always put or link some JavaScript code in our HTML page and get it executed. But very rarely we think about its execution process. To…
medium.com
'데이터 엔지니어링 > Docker' 카테고리의 다른 글
[Docker] Base Image (Scratch) (0) | 2022.09.19 |
---|---|
[Docker] Container의 Lightweight (컨테이너가 가벼운 이유) (0) | 2022.07.14 |
[Docker] Docker 정리 (정의/아키텍쳐) (0) | 2022.07.12 |
[Docker] 윈도우 docker 설치 (0) | 2022.06.16 |
[Docker] 명령어 모음 (0) | 2022.05.13 |