上一篇在centos7上安装了docker。在开始正式学习docker的相关概念和知识之前,我们来简单了解和学习了docker架构和底层技术实现。先从宏观上过一遍docker的架构和底层技术实现,后续文章慢慢学习docker具体知识,后面学习,我们会慢慢理解docker的架构和一些底层技术。

      首先要强调的是docker,也就是容器技术不是一个创新的技术,因为容器早在很早之前就提出了这个概念,最早是在linux上,而且docker很多底层技术实现都是依赖了linux的底层技术。

Docker平台

Docker基础-3-Docker架构和底层技术实现初探

Docker提供了一个开发、打包、运行app的平台
Docker把app和底层infrastructure隔离开来
上面这两个特点是我们从整体上得到的。

 

Docker Engine

什么是Docker Engine, docker Engine是docker平台一个很重要的、核心组件。

Docker基础-3-Docker架构和底层技术实现初探

上面这个图,分成了三层。

1)后台进程(dockerd)

这个后台进程dockerd,有点相当于linux中的内核,我们通过查看进程可以找到这个dockerd进程是在运行的。

Docker基础-3-Docker架构和底层技术实现初探

Dockerd服务主要管理网络,数据存储,容器和镜像。

2)REST API

我们之所以能通过docker –v 查找出来docker的版本号,就是因为调用了接口。

Docker基础-3-Docker架构和底层技术实现初探

Docker就是采用了C/S架构,client端就是我们输入docker –v的机器,后台就是dockerd这个server,通过REST API来处理各种请求。例如容器和镜像的操作管理,这些docker命令其实就是一个个API。

3)Client docker CLI

CLI就是命令行接口,这个叫docker CLI, 就好像shell CLI, 之所以,我们在各种命令前面都加上docker,就是为了和其他CLI区分开来。例如和shell区分,有些公司的SDK也提供了类似的 CLI. 这个是一个客户端组件,提供用户输入命令并显示请求结果的一个组件。

 

Docker 架构

对着这张图,和你自己安装的centos 虚拟机,应该能明白一些了吧。

Docker基础-3-Docker架构和底层技术实现初探

我们虚拟机中图中的Client和DOCKER_HOST其实在一台机器上
Registry就是docker镜像仓库中心,可以是hub.docker.com这个,也可以是自己公司自定义的镜像仓库。
镜像可以制作好push到远程镜像仓库,也可以从远程仓库pull到本地机器。
 

 

 

底层技术实现

Namespaces:

做隔离pid, net,ipc,mnt,uts

Control group

做资源限制

Union file systems

容器和镜像分层

 

相关文章:

  • 2021-10-22
  • 2021-06-22
  • 2021-10-11
  • 2021-06-14
  • 2021-08-23
  • 2021-05-20
  • 2021-11-21
猜你喜欢
  • 2022-01-10
  • 2021-10-21
  • 2022-02-04
  • 2021-12-25
  • 2021-08-13
  • 2021-04-23
  • 2022-01-11
相关资源
相似解决方案