Docker Daemon

2019. 11. 19

Jaewoo KIM

services:

    images: traefik:1.7.16

    ....

    volumes:

        - /var/run/docker.sock:/var/run/docker.sock

Client-Server Architecture

Docker Client
- 도커 데몬 API를 이용할 수 있도록 CLI를 제공하는 것

Docker Daemon
- Container를 관리하는 Background 프로세스

- 지속적으로 running되면서 docker cli의 요청을 대기

Docker Socket
- Docker Daemon은 Docker Engine API를 요청해서 사용

- Docker Engine API는 unix, tcp, fd 세가지 Socket을 사용 가능

로컬에서는 유닉스 소켓, 원격에서는 TCP 소켓

$ docker version

클라이언트와 서버의 버전을 확인할 수 있다

$ docker info

docker daemon의 보안옵션 storage 관리 등 조회

1. Docker Client가 명령어를 입력 받음

2. /var/run/docker.sock 유닉스 소켓을 사용하여 Docker Daemon에게

    명령어를 전달

3. Docker Daemon은 입력받은 명령어를 파싱하고 해당하는 작업을 수행

4. 수행 결과를 Docker Client에게 반환하고 사용자에게 결과를 출력

모든 이미지를 나열

 

echo -e "GET /images/json HTTP/1.0\r\n" 
	| nc -U /var/run/docker.sock

모든 이미지를 나열

 

echo -e "GET /images/json HTTP/1.0\r\n" 
	| nc -U /var/run/docker.sock

Docker Daemon

By Jaewoo KIM

Docker Daemon

  • 321