码迷,mamicode.com
首页 > 其他好文 > 详细

Docker了解

时间:2017-02-24 15:43:50      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:linu   用户   设备   影响   cgroup   数据卷   文件系统   部分   限制   

Docker了解
1.Docker能做什么
:Docker能够解决虚拟机能够解决的问题,同时也能够解决虚拟机由于请求资源过高无法解决的问题。
 *隔离应用依赖
 *创建应用镜像并进行复制
 *创建容易分发的即启即用的应用
 *允许实例简单,快速的扩展
 *测试应用并随后销毁他们
 Docker的目标是创建软件程序可移植的轻量容器,让其可以在任何安装Docker的机器上运行,不考虑底层操作系统。

2.Docker提供资源和抽象
 *镜像:类似于快照,轻量级,创建时可以在现有的基础上修改子镜像,或者直接运行修改镜像。
 *容器:镜像中创建容器,是设计用来运行应用的,支持单线程,允许公开指定的端口。容器是短暂的一次性的。
 *链接:容器启动时,分配的私有IP,并可以引用其他容器,进行容器间交互。
 *数据卷:不受容器生命周期影响进行数据持久化,Docker提供工具分开数据和应用两部分。卷可以用来在容器间共享数据。

3.Docker如何实现功能
:Docker如何创建镜像、用它们创建容器、在需要时暴露端口和创造卷、通过链接将几个容器连接在一起?
 Docker使用cgroups来提供容器隔离,而union文件系统用于保存镜像并使容器变得短暂
 *Cgroups:限制Linux进程组的资源占用,为进程组制作PID,UTS,IPC, 网络,用户以及装载命名空间。
 *union:文件系统装载在其他的文件系统上,结果就是一个分层的积累变化。 
 Docker允许在union文件系统中使用aufs、btrfs或设备映射(device mapper)
 ①镜像只是一个json,指定了从该镜像运行的容器的特性,union装载点保存在哪里,要公开什么端口等等。
 每个镜像与一个union文件系统关联,每个docker的union文件系统都有一个上层。
 ②容器之所以是短暂的,是因为创建一个镜像,创建容器,Docker会创建一个空白的union文件系统加载在与该镜像关联的union文件系统上。
 由于union文件系统是空白的,意味着没有变化会被应用到镜像文件系统上, 当你创建一些变化时,文件系统会体现出来。
 当容器停止时,该容器的union文件系统会被丢弃。留下的是启动时的原始镜像文件系统。除非创建一个新镜像或者卷
 ③卷所做的是在容器内指定一个目录,以便于在union文件系统外保护它。卷基本与镜像相同,现在还指定了一些公开给宿主的端口。
  

Docker了解

标签:linu   用户   设备   影响   cgroup   数据卷   文件系统   部分   限制   

原文地址:http://www.cnblogs.com/LinuxSuDa/p/6438377.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!