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

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. OpenLayers3基础教程——OL3 介绍control

    概述: 本文讲述的是Ol3中的control的介绍和应用. OL2和OL3 control比較: 相比較Ol2的control,OL3显得特别少,下图分别为Ol2和Ol3的control: Ol2的c ...

  2. 深入浅出CChart 每日一课——快乐高四第九课 于无声处,CChart内置功能介绍之数据存取篇

    笨笨长期以来一直使用Origin软件画图和处理数据,但Origin软件没有编程语言的接口.笨笨开发CChart的一个潜在的目标.是想实现Origin软件的功能.当然这是一个不可能达到的目标.Origi ...

  3. 数据结构 - 归并排序(merging sort) 具体解释 及 代码

    归并排序(merging sort) 具体解释 及 代码 本文地址: http://blog.csdn.net/caroline_wendy 归并排序(merging sort): 包括2-路归并排序 ...

  4. Android获取系统时间的多种方法

    Android中获取系统时间有多种方法,可分为Java中Calendar类获取,java.util.date类实现,还有android中Time实现. 现总结如下: 方法一: ? 1 2 3 4 5 ...

  5. Java悲观锁和乐观锁

    悲观的并发策略——Synchronized互斥锁 互斥锁是最常见的同步手段,在并发过程中,当多条线程对同一个共享数据竞争时,它保证共享数据同一时刻只能被一条线程使用,其他线程只有等到锁释放后才能重新进 ...

  6. DB-MySQL:MySQL NULL 值处理

    ylbtech-DB-MySQL:MySQL NULL 值处理 1.返回顶部 1. MySQL NULL 值处理 我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数 ...

  7. mysql如何查找表里的字段

    在开发项目的时候有个功能需要查看数据库中有哪些表,以及每个表有哪些字段,在网上查看了一下,现在分享给大家. Oracle: 查询数据表(Tables)名称:select Table_Name, Tab ...

  8. CSS中alt和title属性的正确使用

    1.在<img>标签中的使用 alt:全称为alttext,实质是当图片无法正确显示时用于替换(在IE下同时起到了title的作用,即鼠标滑过时文字提示): title:鼠标经过时文字提示 ...

  9. 10.QT程序框架与connect

    MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setup ...

  10. hive2.0函数大全

    Hive2.0函数大全(中文版)   摘要 Hive内部提供了很多函数给开发者使用,包括数学函数,类型转换函数,条件函数,字符函数,聚合函数,表生成函数等等,这些函数都统称为内置函数. 目录 数学函数 ...