--------------------------------------------------------------------------------------

Blog:    http://blog.csdn.net/chinagissoft

QQ群:

idkey=db34317167632c01ab4750de87c000ae63cf173cf6fcbbd724ae60213272da91">16403743

宗旨:专注于"GIS+"前沿技术的研究与交流。将云计算技术、大数据技术、容器技术、物联网与GIS进行深度融合,探讨"GIS+"技术和行业解决方式

转载说明:文章同意转载,但必须以链接方式注明源地址,否则追究法律责任!

--------------------------------------------------------------------------------------

现在,Docker越来越在IT界深入人心,事实上我们应该感谢它的前身。dotCloud,一家专注于PaaS的云平台公司。我们能够訪问它的官网去了解很多其它:https://www.dotcloud.com/

那么Docker是怎样实现?

首先。最早的容器技术是基于Linux的LXC,随着技术的不断发展,使用libcontainer来取代LXC,因为libcontainer是使用go语言编写的,而Dockers就是基于go语言开发的,所以Docker如今与容器有天然的结合,随着Docker的不断发展。相信Google也会在go语言的推广方面更上一个台阶。

只是最为关键就是Docker採用aufs文件系统来管理镜像和容器。

AUFS

所谓AUFS(Advanced multi layer unification filesystem)。也称之为高级的多层的联合文件系统,它能够实现多个不同的文件夹的内容合并在一起,并且实现Read-Only和Read-Write文件夹的共存。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

比如,这是一个Docker执行实例。那么桔黄色部分就是我们所说的Root FS,红色的部分为可写。蓝色的为仅仅读,该容器能够共享Fa和Fb。当然也能够将扩展属于自己的Fc,这样的机制特别适合于共享同一个文件基础,每个在该文件基础的执行实例还包含自己的文件信息。

Docker怎样使用aufs

Docker使用aufs来实现分层的文件系统的管理,对于Docker来说有两个概念,镜像和容器,普通情况下熟悉虚拟化的朋友也应该比較好理解。镜像和虚拟机实例。普通情况下,镜像我们觉得是仅仅读的,而容器我们觉得是可写的。

比如上图。该宿主OS里面包括两个容器。桔黄色容器和蓝色容器。桔黄色容器为例,该容器是从一个busybox的镜像生成的,在该镜像基础上加入了自己的内容,构建了当前桔黄色容器的状态。当然我们也能够将当前状态也生成一个镜像。就好比蓝色容器的emaces镜像和Apache镜像。

所以Image类似一个单链表系统。每个Image包括一个指向Parent image的指针。假设没有了Parent Image的镜像事实上就是Os的Kernel了。

Docker的局限性

当然,Docker技术还是一个新技术,还有非常多局限性须要注意:

1、它仅仅能给予Linux64。不支持32位,当然这个条件对于遍地64位环境来说并非多大的局限。

2、眼下Docker的宿主机OS还仅仅能是Linux,当然也听说Windows 2016 Server也支持容器,也很期待。

3、Docker的隔离性方面相比較KVM等虚拟化技术还有所欠缺

4、容器採用Cgroup和Resource control 对于CPU度量比較难,所以一般公共环境的度量往往採用内存指标

5、Container是随着用户进程的停止而销毁的

Docker的发展方向

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

关于Docker的发展方向。通过这一张图能够看到,Docker急需在网络(两个小乌龟打电话),安全(锁),以及容器引擎方面进行完好。

GIS+=地理信息+容器技术(2)——Dockers技术介绍的更多相关文章

  1. GIS+=地理信息+容器技术(4)——Docker执行

    -------------------------------------------------------------------------------------- Blog:    http ...

  2. GIS+=地理信息+容器技术(1)——容器技术概述

    -------------------------------------------------------------------------------------- Blog:    http ...

  3. 网页静态化技术Freemarker的详细介绍

    网页静态化技术Freemarker 一.Freemarker的基本介绍 1.1为什么要使用网页静态化技术 网页静态化解决方案在实际开发中运用比较多,例如新闻网站,门户网站中的新闻频道或者是文章类的频道 ...

  4. Lucene.net站内搜索—4、搜索引擎第一版技术储备(简单介绍Log4Net、生产者消费者模式)

    目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...

  5. ar技术序章-SDK介绍和选择

    转自: http://blog.csdn.net/kun1234567/article/details/10402535 ar技术序章-SDK介绍和选择 分类: Augmented Reality20 ...

  6. 回客科技 面试的 实现ioc 容器用到的技术,简述BeanFactory的实现原理,大搜车面试的 spring 怎么实现的依赖注入(DI)

    前言:这几天的面试,感觉自己对spring 的整个掌握还是很薄弱.所以需要继续加强. 这里说明一下spring的这几个面试题,但是实际的感觉还是不对的,这种问题我认为需要真正读了spring的源码后说 ...

  7. 【转帖】网卡多队列技术与RSS功能介绍

    网卡多队列技术与RSS功能介绍 2017年02月08日 15:44:37 Murphy_0806 阅读数 10665 标签: rss网卡dpdk 更多 个人分类: DPDK https://blog. ...

  8. 基于GIS空间分析的多边形提取技术

    现有基于矢量图形的骨架线提取方法主要包括数据预处理.基于约束 Delauny 三角剖分的骨架线结点生成和骨架线的连接 3 个过程,上述过程都可利用现有 GIS 系统的数据处理.空间分析和建模功能实现. ...

  9. 【CTO辩论会】移动开发人员忠于技术or 背离技术

    第一期CTO辩论会结束后,大家在微信群中讨论,学什么编程语言好.有位官人直呼"劳力者治于人,苦差,不学也罢". 在IT.科技变革世界的今天,移动开发人员成为一个很时髦的工种. 就连 ...

随机推荐

  1. uva 10061(数学)

    题解:题目要在b进制下输出的是一个数字阶乘后有多少个零,然后输出一共同拥有多少位.首先计算位数,log(n)/log(b) + 1就是n在b进制下有多少位,而log有个公式就是log(M×N) = l ...

  2. 用opencv实现的PCA算法,非API调用

    理论參考文献:但此文没有代码实现.这里自己实现一下,让理解更为深刻 问题:如果在IR中我们建立的文档-词项矩阵中,有两个词项为"learn"和"study",在 ...

  3. spring Batch实现数据库大数据量读写

    spring Batch实现数据库大数据量读写 博客分类: spring springBatchquartz定时调度批处理  1. data-source-context.xml <?xml v ...

  4. c语言实现皇帝翻牌游戏

    一个综合的游戏,对所学的知识进行整合!融会贯通! #include <stdio.h> #include <stdlib.h> #include <string.h> ...

  5. 【转】使用Docker+Jenkins自动构建部署

    转载自 https://segmentfault.com/a/1190000012921606 环境 阿里云ESC,宿主机服务器安装Docker,在安全规则中确认8080端口开启. 客户端mac 运行 ...

  6. [转]C#多线程和线程池

    鸣谢原文:http://www.cnblogs.com/wwj1992/p/5976096.html 1.概念  1.0 线程的和进程的关系以及优缺点 windows系统是一个多线程的操作系统.一个程 ...

  7. Memcache使用场景

    session //php文件中 ini_set("session.save_handler", "memcache"); ini_set("sess ...

  8. 查看md文件

    使用命令将md文件转为html,在浏览器中演示 通过npm安装i5ting_toc 安装好node之后,可以直接使用npm.Windows+R打开运行框,输入cmd,打开命令窗口.连网的情况下,输入如 ...

  9. Spinner默认选择问题

    1.需求中使用Spinner,不允许有默认选中,在网上查了好多,有设置 spinner.setSelection(-1,true); 也有设置如下: spinner.setOnItemSelected ...

  10. Git 版本控制原理

    git 工作原理图 如上图所示,有三个区域Working Directory.stage.master. 名词解释: 工作区(Working Directory) 在我们直接编辑文件(文件夹)的根目录 ...