본문 바로가기
Docker

[Docker] Docker Clinet&Server와 Docker(도커)의 기본적인 흐름 이해하기

by 클수저 2025. 2. 19.
728x90
반응형

💻Docker Client 와 Server

 

docker client는 쉽게 말해 Docker가 설치되어 있는 Local이라고 이해하면 된다. 

docker client 는 /var/run/docker.sock에 위치한 유닉스 소켓을 통해 도커 데몬의 API를 호출한다. 이때의 소켓은 같은 호스트 내에 있는 도커 데몬에게 명령을 전달할 때 사용한다.

docker serverdaemon이라고 불리는데 client 즉, CLI의 명령어를 받아서 작업을 하는 곳.

docker server 즉 daemon은 전달받은 명령어를 파싱해 명령어에 해당하는 작업을 수행한다. 이 때, containerd와 통신한다.

도커의 기본적인 흐름은 아래와 같다.

더보기

1. docker run $$$ 으로 실행

2. 도커가 설치되어 있는 clinet(CLI)가 받아서 확인

3. CLI가 Docker daemon으로 정보를 전송(1번)

4. docker hub에서 해당 이미지가 있는지 확인(2번)

4-1.docker image 캐시 보관장소에 있다면 그것을 가져간다.(2번)

5. 이미지를 Client에 다시 전송해서 결과물 발송(3번)


Docker Image ➡️ Docker Container 

도커 이미지는 기본적으로 docker를 실행할 명령어와 실행시킬 파일의 스냅샷을 가지고있다.

docker run이라는 명령어를 실행하면,

1. 도커 이미지에 있는 파일 스냅샷을 컨테이너 하드디스크로 옮겨준다.

2. 이미지에 있는 docker run test라는 실행 명령어가 컨테이너에서 test라는 app을 실행시킵니다.

3. 아래와 같이 최종적으로 Docker가 실행되는 그림을 볼 수 있다.

 

728x90
반응형