Docker 엔진은 컨테이너를 실행하고 관리하는 데 사용되는 핵심 소프트웨어입니다. 주요 구성 요소는 Docker 클라이언트, Docker 데몬, Containerd 및 runc입니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.
1. Docker 엔진 소개
Docker 엔진은 컨테이너를 실행하고 관리하는 데 사용되는 핵심 소프트웨어입니다.
Docker 엔진은 API, 실행 드라이버, 런타임, 심 프로세스 등
- Docker 엔진의 주요 구성 요소는 Docker 클라이언트, Docker 데몬, Containerd 및 runc입니다.
2. Docker 엔진에 대한 자세한 설명
- Docker가 처음 출시되었을 때는 LXC와 Docker 데몬이라는 두 가지 핵심 구성 요소로 구성되었습니다.
- Docker 데몬은 Docker 클라이언트, Docker API, 컨테이너 런타임, 이미지 구축 등을 포함하는 단일 바이너리 파일입니다.
- LXC는 리눅스 커널 기반의 컨테이너 가상화 기술인 네임스페이스, 컨트롤 그룹(CGroup) 등의 기본 도구를 운영할 수 있는 기능을 제공합니다. Docker 버전 0.9에서는 Libcontainer가 LXC를 기본 실행 드라이버로 대체합니다.
2.1. Docker 데몬
- Docker 데몬 무결성은 점점 더 많은 문제를 가져옵니다.
- 변경하기 어렵습니다
- 더 느리게 실행됩니다
- 이것은 생태학적 기업이 기대하는 것이 아닙니다
- 데몬은 CRUD를 사용합니다. -style API를 통해 gRPC
2.2.runc
- runc는 기본적으로 Libcontainer용으로 패키지된 가벼운 명령줄 대화형 도구입니다.
- Runc 기능: 컨테이너 생성
2.3.containerd
- 주요 기능: 컨테이너 수명주기 관리 – start|stop|pause|rm…
2.4. no 구현 데몬 컨테이너에 꼭 필요한 도구입니다. runc가 새 컨테이너를 생성할 때마다 새 runc 인스턴스를 포크합니다. 일단 컨테이너가 생성되면 해당 runc 프로세스가 종료됩니다.
상위 프로세스 runc가 종료되면 관련 컨테이너-심 프로세스가 컨테이너의 상위 프로세스가 됩니다.
- shim의 책임 중 일부:
- 모든 STDIN 및 STDOUT 스트림을 열어 두어 데몬이 다시 시작될 때 컨테이너가 파이프가 닫혀서 종료되지 않습니다.
- 컨테이너의 종료 상태를 데몬에게 피드백하세요. 2.5. Linux에서의 구현
docker daemon), docker-containerd(containerd), docker-containerd-shim(shim) 및 docker-runc(runc)는 모두 별도의 바이너리 구현으로 구현됩니다.
주요 기능: 이미지 관리, 이미지 구성, REST API, 인증, 보안, 핵심 네트워크 및 오케스트레이션.
위 내용은 도커 엔진이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!