docker:一种值得关注的开源应用容器

昨天我们谈到了资源管理中资源隔离技术LXC,linux轻量级的隔离技术。今天介绍一个基于LXC技术发展的开源应用容器引擎:Docker。

什么是Docker:

Docker container和普通的虚拟机Image相比, 最大的区别是它并不包含操作系统内核.普通虚拟机将整个操作系统运行在虚拟的硬件平台上, 进而提供完整的运行环境供应用程序运行, 而Docker则直接在宿主平台上加载运行应用程序.本质上他在底层使用LXC启动一个Linux Container,通过cgroup等机制对不同的container内运行的应用程序进行隔离,权限管理和quota分配等

基本上你可以认为目前的Docker是LXC的一个高级封装,提供了各种辅助工具和标准接口方便你使用LXC,你可以依靠LXC和各种脚本实现与docker类似的功能,就像你不使用APT/yum等工具也可以自己搞定软件包安装一样,你使用他们的关键原因是方便易用!

值得关注的特性:

文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。

资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。

网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。

日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。

变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。

交互式shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互shell。

Docker的发展:

DOCKER已经可以运行在mesos上,并可以结合chronos和marathon框架。Docker on Mesos相关资料可以参考http://mesosphere.io/2013/09/26/docker-on-mesos/。

DOCKER和YARN的集成,也很快就能完成。Hadoop初创企业Altiscale将把Docker变成运行Hadoop任务的一个合适环境作为自己的使命,而且已经接近完成。 http://gigaom.com/2014/08/29/hadoop-jobs-should-soon-be-able-to-run-easily-inside-docker-containers/

InfoQ开设专栏专门关注docker的发展http://www.infoq.com/cn/dockers/?utm_source=infoq&utm_medium=header_graybar&utm_campaign=topic_clk

Docker的未来非常值得期待!

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2014-09-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏aCloudDeveloper

CPU 虚拟化

前面 虚拟化技术总览 中从虚拟平台 VMM 的角度,将虚拟化分为 Hypervisor 模型和宿主模型,如果根据虚拟的对象(资源类型)来划分,虚拟化又可以分为计...

2646
来自专栏云计算D1net

八种最常见Docker开发模式 别说你还不知道

Docker已迅速成为本人最喜欢的基础工具之一,以便构建可重复软件产品,从而带来尽可能静态的服务器环境。   我在本文中将概述我在使用Docker的过程中开始...

3276
来自专栏大魏分享(微信公众号:david-share)

一个优秀的镜像仓库是什么样的?

2453
来自专栏SDNLAB

用防火墙来保障容器安全(Docker/Kubernetes)

在部署任何基于容器的应用程序之前,首先通过确保Docker、Kubernetes或其他容器防火墙来保护容器的安全至关重要。有两种方式来实现容器防火墙:手动或通过...

4336
来自专栏数据和云

Oracle 11g R2 RAC 高可用连接特性 – SCAN 详解

许春植(Luocs) (阿里巴巴高级数据库管理员,7年以上数据库运维管理经验,擅长MySQL、Oracle及MongoDB数据库,目前主要研究并建设Mongo...

3605
来自专栏WeTest质量开放平台团队的专栏

一次触摸,Android到底干了啥

当我们在写带有UI的程序的时候,如果想获取输入事件,仅仅是写一个回调函数,比如(onKeyEvent,onTouchEvent….),输入事件有可能来自按键的,...

1072
来自专栏云计算

将基于MicroProfile的应用程序部署到IBM Cloud Private

Eclipse MicroProfile是一个开源项目,用于优化Java企业版的微服务体系结构。基于MicroProfile的应用程序可以部署到K...

21610
来自专栏Django中文社区

用 Windows 跟着官方教程学 Docker 之一步一坑记

据说 Docker 可以提供一种更加现代化的部署方式,于是乎想趁着一个空闲周末来好好撸一遍 Dcoker 入门文档。之前花了一个小时通读了一遍 Docker 的...

6638
来自专栏重庆的技术分享区

在API网关和微服务开发中使用Docker

原文地址:https://dzone.com/articles/using-docker-in-api-gateway-and-microservice-dev...

1704
来自专栏云计算

容器技术概述

容器 (Container) 是一种在资源隔离状态下,允许我们运行应用程序及其依赖项,操作系统层面的轻量级、虚拟化技术。在容器中,应用程序运行所依赖的必要组件都...

2196

扫码关注云+社区