一、docker平台
Docker提供了在一个 容器 中打包运行应用的能力。容器是隔离的,允许一个主机上同时运行多个 容器 。容器 是轻量级的,因为它不用加载额外的 管理程序(hypervisor),
二、docker引擎
docker引擎是一个客服端服务程序,它包括以下几个部分:

- server:是一个长时间运行的程序,叫做 守护进程。
- REST API:是一个restful 的接口,用以和 守护进程 进行通信并指导 守护进程 工作。
- Client docker CLI:命令行客户端。
三、可以用docker做什么
- 快速的、一致的传递应用
docker简化了部署的流程。这是通过让开发人员直接在标准环境下开发实现的。 - 响应式部署和扩展
- 同样的硬件设备,可以运行做更多的工作
以上都和docker的轻量和快速有很大的关系。
四、docker的架构
docker采用的是 客户-服务 的架构。docker客户端 可以和服务器端(守护进程)可以在同一个主机上,也可以在不同的主机上。docker客户端 和服务器端是通过REST API,UNIX套接字、网络接口进行通信的。

- docker守护进程
负责监听api请求,并管理docker对象(如image,container,networks,volumes)
- docker客户端
用于可 docker守护进程 进行通信
- docker注册表
Docker 注册表存储Docker镜像
- docker对象
images:是一个只读的模板,用以创建容器
container:是一个镜像的运行实例
service:允许通过允许多个docker守护进程来扩展我们的容器
五、底层技术
docker是使用go语言编写的,它利用了linux内核的几个特点来实现其功能的。
- 命名空间
容器的隔离性就是用这个实现的。 - 控制组
控制组允许Docker Engine将可用的硬件资源共享给容器,并可选择强制执行限制和约束。例如,您可以限制特定容器的可用内存。 - 联合文件系统
联合文件系统或UnionFS是通过创建层来操作的文件系统,使它们非常轻量和快速 - 容器格式
docker引擎 将 命名空间 、控制组 、联合文件系统 整合到一起,这个东西就叫做 容器格式 。默认的容器格式是libcontainer。
Docker提供了一种在容器中打包和运行应用的方法,实现了轻量级的隔离,无需额外管理程序。其核心包括Docker引擎,由守护进程、REST API和客户端组成。Docker的架构为客户端-服务端,通过REST API通信,支持响应式部署和扩展。Docker利用Linux内核的命名空间、控制组和联合文件系统等技术实现容器隔离和资源管理。
3896

被折叠的 条评论
为什么被折叠?



