개요

docker rundocker build 등의 명령과 그 명령에 의해 실행되는 이미지 빌드, 컨테이너 실행하는 등의 다양한 작업

요소 : Docker CLI, Docker Engine API, Docker Demon

 

Docker CLI

  • Docker 명령을 실행하는 커멘드 라인 도구
  • CLI에 입력된 명령에 따라 Docker Engine API를 호출

Docker Demon

  • Linux  demon process에서 Docker Engine API가 호출되는 것을 기다리고 있다가, 호출된 Docker Engine API에 따라 이미지의 빌드 및 컨테이너의 시작 등을 실행

 

Unix socket 통신 & TLS 통신

  • Docker CLI가 Docker 호스트 안에 있는 경우 Unix socket을 이용해 Docker Demon과 통신
    • Unix socket은 동일한 시스템에 있는 프로세스끼리 통신을 할 수 있는 구조
    • docker-machine ssh 명령을 사용해 Docker 호스트에 로그인한 후 Dokcer 호스트에 있는 Docker CLI 명령 실행
  • Docker CLI가 Docker 호스트 밖에 있는 경우 TCP socket을 사용해 Docker Demon과 통신
    • HTTP를 그대로 이용하는 것이 아니라, 어떠한 보안 대책을 실시하는 것을 추천
    • 그중 하나가 TLS, HTTP를 암호화된 HTTPS 통신을 실시하는 것과 동시에 클라이언트와 서버를 신뢰할 수 있는 것
    • Docker Machine을 사용하여 Docker 호스트를 작성한 경우 인증서 만들기 등의 작업이 자동으로 이루어짐

 

❗ 통신 과정을 실습해볼려면 참고하자! ❗

http://www.devkuma.com/books/pages/1546

 

프로그램 개발 지식 공유, devkuma

데브쿠마는 프로그래밍 개발에 대한 지식을 공유합니다.

www.devkuma.com

 

'Container' 카테고리의 다른 글

[Docker] Docker Swarm  (0) 2021.09.11
[Docker] Docker Machine  (0) 2021.09.11
[Docker] Docker Compose  (0) 2021.09.11
[Docker] Docker 구조  (0) 2021.09.11
[Docker] 개념  (0) 2021.09.11

+ Recent posts