1. Docker 기본 개념

컨테이너와 이미지

컨테이너 vs 가상 머신(VM)

항목 컨테이너 가상 머신
실행 방식 호스트 OS 위에서 실행 하이퍼바이저를 통해 VM 실행
OS 포함 여부 OS 커널 공유 (가볍고 빠름) OS 포함 (무겁고 느림)
성능 거의 네이티브 성능 오버헤드 발생
시작 속도 수 초 내 실행 가능 수 분 걸릴 수도 있음

2. Docker 엔진과 API 통신

Docker 엔진과의 유일한 통신 방식은 API

Docker 엔진과의 통신 방식

방식 설명
docker CLI 터미널에서 docker 명령어 실행 (ex. docker run, docker ps)
REST API curl이나 애플리케이션에서 직접 HTTP 요청 (ex. GET /containers/json)
SDK Python, Go 등의 SDK를 활용한 프로그래밍 방식 접근
Docker Compose docker-compose를 사용하여 컨테이너 실행

REST API 예시

curl --unix-socket /var/run/docker.sock <http://localhost/containers/json>

결론