博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker基础-4-Docker架构和底层技术实现初探
阅读量:4302 次
发布时间:2019-05-27

本文共 1214 字,大约阅读时间需要 4 分钟。

        前面,不管你是win10安装docker环境还是,在一个虚拟机的centos7上安装docker,我默认你已经学会了docker的安装。在开始正式学习docker的相关概念和知识之前,我们来简单了解和学习了docker架构和底层技术实现。先从宏观上过一遍docker的架构和底层技术实现,后续文章慢慢学习docker具体知识,后面学习,我们会慢慢理解docker的架构和一些底层技术。

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

Docker平台

 

  1. Docker提供了一个开发、打包、运行app的平台
  2. Docker把app和底层infrastructure隔离开来

上面这两个特点是我们从整体上得到的。

 

Docker Engine

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

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

1)后台进程(dockerd)

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

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

2)REST API

我们之所以能通过docker –v 查找出来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 虚拟机,应该能明白一些了吧。

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

 

底层技术实现

Namespaces:

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

Control group

做资源限制

Union file systems

容器和镜像分层

 

这三个技术其实都是Linux早就在运用的技术,现在不懂,没关系。这需要很强Linux知识才能知道这三个技术。

转载地址:http://lzows.baihongyu.com/

你可能感兴趣的文章
设计模式13_享元模式
查看>>
设计模式14_组合结构
查看>>
设计模式15_模板
查看>>
海龟交易法则01_玩风险的交易者
查看>>
CTA策略02_boll
查看>>
vnpy通过jqdatasdk初始化实时数据及历史数据下载
查看>>
设计模式19_状态
查看>>
设计模式20_观察者
查看>>
vnpy学习10_常见坑
查看>>
vnpy学习10_常见坑02
查看>>
用时三个月,终于把所有的Python库全部整理了!拿去别客气!
查看>>
pd.stats.ols.MovingOLS以及替代
查看>>
vnpy学习11_增加测试评估指标
查看>>
资金流入流出计算方法
查看>>
海龟交易法则07_如何衡量风险
查看>>
海龟交易法则08_风险与资金管理
查看>>
海龟交易法则09_海龟式积木
查看>>
海龟交易法则10_通用积木
查看>>
海龟交易法则14_掌控心魔
查看>>
海龟交易法则15_万事俱备
查看>>