Docker核心原理,Docker在线安装和离线安装
一、Docker核心技术
Docker底层依赖的核心技术:
- Docker基本架构
- Linux操作系统的命名空间(namespace)
- 控制组(control group)
- 联合文件系统(union file system)
- 虚拟化支持
二、Docker基本架构
Docker采用了标准的C/S架构,包括客户端、服务端两大核心组件,同时通过镜像仓库来存储镜像。客户端和服务端可以运行在一个机器上,也可以通过socket或者RESTful API来进行通信。
1.服务端
Docker服务端一般在宿主主机后台运行,dockerd作为服务端接受来自客户的请求,并通过containerd具体处理与容器相关的请求,包括创建、运行、删除容器等。
服务端主要包括四个组件:
- dockerd:为客户端提供RESTful API,响应来自客户端的请求,采用模块化的架构,通过专门的Engine模块来分发管理各个来自客户端的任务。
- docker-proxy:dockerd的子进程,当需要进行容器端口映射时,docker-proxy完成网络映射配置。
- containerd:是dockerd的子进程,提供gRPC接口响应来自dockered的请求,对下管理runC镜像和容器环境。
- containerd-shim:是containerd的子进程,为runC容器提供支持,同时作为容器内进程的根进程。