Docker架构概览

Docker架构概览

在Docker中,其架构是松耦合结构,不通的模块各司其职,有机组合,用于完成用户的请求。

 

 1.Docker daemon

首先在图片的最中间部分,是Docker daemon,这是Docker架构中的主要用户接口,其具体作用是:

(1)提供API Service用于接收来自Docker client的请求。

(2)根据不同的请求分发给Docker daemon的不通模块执行相应的工作

 

2.Docker client

Docker client是一个泛称,用来向Docker daemon发起请求,执行相应的容器管理操作。

 

3.镜像管理

Docker通过distribution、layer、image、registry、reference等模块实现了Docker的镜像管理。

(1)distribution:负责与Docker registry交互

(2)registry:负责和Docker registry有关的身份验证、镜像查找、镜像验证以及管理镜像等交互操作

(3)image:负责与镜像元数据有关的存储、查找,镜像层的索引、查找以及镜像tar包有关的导入导出等工作

(4)referrence:负责存储本地所有镜像的repository和tag名,并维护与镜像ID之间的映射关系

(5)layer:负责与镜像层和容器层元数据有关的增删改查。

 

4.Docker daemon中的三种驱动

execdriver、volumedriver、graphdriver分别是容器执行驱动、volume存储驱动、镜像存储驱动。

(1)容器执行驱动,目前主要使用的是docker官方编写的libcontainer库,是对于namespaces、cgroups、apparmor等容器运行所必须要的操作进行第二次封装

(2)colume存储驱动是volume数据卷存储操作的最终执行者,负责volume的增删改查,屏蔽不同驱动细线的区别,为上一层调用者提供一个统一的接口

(3)镜像存储驱动是所有容器镜像相关操作的最终执行者。该驱动会在Docker工作目录下维护一组与镜像层对应的目录,并记下镜像层之间的关系以及具体的驱动实现相关的元数据

 

5.network

目前,Docker使用的是容器网络模型(CNM),并且给调用者提供了统一抽象接口,CNM模型对真是的容器网络抽象除了沙盒、端点、网络三种对象。由具体的网络操作对象,并通过网络控制器提供一个统一接口调用者管理网络。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值