개요
docker run과 docker 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
'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 |