티스토리 뷰
도커의 구조
which docker
도커 명령어는 /usr/bin/docker에 위치한 파일을 통해 사용되고 있다.
ps aux | grep docker
한편 도커 엔진의 프로세스는 /usr/bin/dockerd 파일로 실행되고 있다.
이는 docker 명령어는 실제 도커 엔진이 아니라, 클라이언트로서의 도커이기 때문이다.
클라이언트로서의 Docker
도커 데몬은 API 입력을 받아 도커 엔진의 기능을 수행하는데, 이 API를 사용할 수 있도록 CLI를 제공하는 한다.
도커 클라이언트는 입력된 명령어를 로컬에 존재하는 도커 데몬에게 API로서 전달한다.
도커 클라이언트는 /var/run/docker.sock에 위치한 유닉스 소켓을 통해 도커 데몬의 API를 호출한다.
도커 데몬은 이 명령어를 파싱하고 명령어에 해당하는 작업을 수행한다.
서버로서의 Docker
실제로 컨테이너를 생성하고 실행하며 이미지를 관리하는 주체이며, dockerd 프로세스로서 동작한다.