더북(TheBook)

도커 엔진은 다음 구성 요소로 되어 있다.

도커 데몬(Docker daemon): 도커 이미지를 생성하고 관리하는 dockerd라는 서버다. REST API가 데몬에 명령을 보내고 CLI 클라이언트가 도커 명령을 입력한다.

도커 클라이언트(Docker client): 도커 사용자는 클라이언트로 도커와 상호 작용한다. 도커 명령이 실행되면 클라이언트는 데몬에 명령을 보내는 역할을 수행한다.

도커 레지스트리(Docker registry): 도커 이미지가 저장되는 곳이다. 이 레지스트리는 공개 또는 사설 레지스트리일 수 있다. 도커 허브(Docker Hub)는 기본 공개 레지스트리이고 전용 사설 레지스트리(private registry)도 만들 수 있다.

도커 이미지(Docker images): 도커 컨테이너를 생성하는 몇 가지 명령이 포함된 읽기 전용 템플릿이다. 이미지는 도커 허브에서 가져올 수 있고 그대로 사용하거나 추가 명령으로 수정할 수 있다. 또한 Dockerfile을 사용해서 새로운 이미지를 생성할 수도 있다. 이 장 후반부에 Dockerfile 사용 방법을 설명한다.

도커 컨테이너(Docker containers): docker run 명령이 생성되고 수행되면 도커 이미지는 컨테이너를 생성한다. 애플리케이션과 주변 환경은 이 컨테이너에서 실행된다. 도커 컨테이너를 시작·중지·삭제하려면 도커 API나 CLI를 사용할 수 있다.

도커 볼륨(Docker volumes): 도커 볼륨은 도커가 생성하고 컨테이너가 사용한 데이터를 저장하는 데 적합한 메커니즘이다. 도커 API나 CLI로 관리된다.

도커 네트워크(Docker networks): 도커 네트워크를 사용하면 컨테이너를 가능한 많은 네트워크에 연결할 수 있다. 네트워크를 격리된 컨테이너의 통신 수단으로 생각할 수 있으며 도커에는 bridge, host, overlay, none, macvlan의 다섯 가지 네트워크 드라이버 타입이 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.