Docker架构分析

Docker架构

整体架构图
Docker架构
Docker的主要模块:

1.Docker Client,通过和Docker Daemon交互通信的客户端,如docker命令,或是其他调用Docker ServerAPI的工具

2.Docker Dameon,时运行在系统中的守护进程,该进程启动一个常驻的Job也就是Docker Server来专门处理Docker Client的请求
2.1Docker Server,比较重要单独抽离出来用于接收Client的请求,通过路由dispatch到对应handler执行并返回结果
2.2Engine,Docker的运行引擎时Dokcer的核心模块,执行各种Job完成管理操作。Job是Docker架构中的基本单位,Job可以是新建容器,停止容器,拉取镜像,创建Server暴露HTTP API等等
Docker Daemon
3.Graph,Graph是Docker架构中对于Repository的容器和镜像的保管者,记录了容器镜像关系。GrapDB记录了文件系统镜像彼此间建关系。Graph的本地目录中每个容器和镜像目录都有自己的元数据、大小、所代表的rootfs
Graph
4.Driver,Docker架构中的存储驱动,通过驱动可以对容器环境进行定制,操作Grapth的存储记录容器镜像关系,获取Docker运行时信息等
4.1graphdriver,graphdriver是主要是完成容器经管理,增删改查这种,graphdriver会将容器镜像存储再本地目录,当使用镜像创建容器时,graphdriver会从本地镜像存储目录中获取指定镜像。存储驱动有aufh,vfs,devicemapper,ovelay等
4.2networkdriver,networkdriver主要是完成Docker容器的网络环境配置。Docker启动时会创建网桥,Docker容器创建时的专属虚拟网卡,容器IP,端口映射,设置宿主机防火墙策略等
4.3execdriver,execdriver作为容器的执行驱动,负责容器内部的进程真正执行,还包括容器的资源限制
execdriver
5.licontainer,是Docker架构中用Golang写的库,主要是为了封装内核中与容器相关API屏蔽底层,Docker可以直接调用libcontainer直接操做系统的namespace,cgroups,网络等等
libcontainer
6.Docker container,Docker最终交付用户的形式,容器通过镜像自定rootfs文件系统,通过配额限制获取指定资源,通过网络隔离机制获得独立的网络环境,指定命令容器内执行进程。
container

参考

Docker源码分析-Docker架构
《Docker容器与容器云第二版》

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值