为了账号安全,请及时绑定邮箱和手机立即绑定

Docker架构

标签:
Docker 架构

Docker架构

为了更好的使用Docker和理解Docker中一些不常见的行为,我们最好了解在Docker表层之下的一些东西。


在下面的图片中,我们可以看到Docker安装的主要元件

  1. 中间部分是Docker daemon,负责创建,运行和监控容器,同时构建和存储镜像,Docker daemon通过docker daemon命令来运行,通常由宿主机管理。

  2. Docker client位于右手边,用于和Docker daemon通过HTTP通信,默认情况下这主要是通过Unix domain socket通信,但是也可以使用TCP socket来让远端客户作为系统管理socket。因为所以的事情都可以通过HTTP来完成,也很容易让远端用户连接和使用开发语言来绑定,但是这也有一些实现上的指示。用于和daemon交流的API已经良好的定义和写好了文档,开发者可以直接写程序来与daemon交互而无需使用Docker client。最后,Docker client和daemon在同一个二进制里面分发。

  3. Docker registries存储和分发镜像。默认的registry是Docker Hub,托管了成千上万的镜像。许多组织运行他们自己的registry可以用户存储金融的或敏感的镜像,或者避免了网络拥挤。 以后我们可以试着运行自己的registry。 Docker daemon会回复docker pull的请求从registry下载镜像。它也会通过docker run请求和Dockerfile中的FROM指令自动下载镜像的,前提是本地没有镜像。

Docker architect.png

底层的技术

Docker daemon使用"execution driver"来创建容器,默认,这是Docker自己的runc驱动,但是也有合法的支持LXC的去掉。Runc与下面的kernel特性联系紧密

  1. cgroups:负责管理被容器使用的资源(例如,CPU和内存使用情况)。他们也可以负责冻结和解冻容器,被用于docker pause功能。

  2. namespace负责隔离容器,确保容器的文件系统,主机名,网络和进程和剩余的系统隔离开来。

  3. UFS用于存储容器的层(layers)。UFS提供一个或多个的存储驱动,例AUFS,devicemapper,BTRFS或者Overlay。


相关的技术

Docker引擎和Docker Hub没有组成一个完成的容器解决方案。许多用户会发现他们需要服务和软件,例如集群管理,服务发现工具和更的高网络性能。Docker Inc计划构建一个完全的开箱即用(out-of-the-box)的方案。也就是可替换电池战略,主要涉及到API的层次,允许元件连接Docker Engine,并且支持Docker 技术打包为一个独立的二进制,来很容易的替换第三方的等价元件。


下面包含了一些Docker支持的技术

Swarm ,Docker集群解决方案。Swarm可以为几个容器分组,允许用户把他们当做统一的资源来用

Compose 是一个工具用来构建和运行由多个Docker容器组成的应用。主要用于开发和测试而不是成产环境

Machine 安装和配置Docker主机在本地或远程资源

Kitematic 用于管理Docker 的MAC OS和windos GUI

Docker Trusted Registry 目前没开源的产品


已经有大量的第三方服务和应用和Docker相处的很好,几个解决方案也已经在下面的领域合并了


Networking   Weave 和 Project Calico

Service discovery Consul, Registrator, SkyDNS, 和 etcd.

Orchestration and cluster management

Kubernetes from Google, Marathon (a frame‐ work for Mesos), CoreOS’s Fleet, and Docker’s own Swarm tooling.


当然还有其他各种各样的插件了。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
1.1万
获赞与收藏
1544

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消