Docker简单介绍

Docker是一个能够把开发的应用程序非常方便地部署到容器的开源引擎。由Docker公司团队编写,基于Apache 2.0开源授权协议发行。Docker的主要目的例如以下:

提供一个简单的,轻量的建模方式

Docker上手快,仅仅须要几分钟就能够将自己的程序Docker化。Docker依赖写时复制技术,使改动应用程序非常迅速,达到“随心所至。代码即改”的境地。Docker启动速度非常快,大多数的Docker容器仅仅需不到1秒钟的时间就可以启动。因为除去了管理程序的开销。Docker容器拥有非常高的性能。一台宿主机能够同一时候执行非常多容器,要比虚拟机技术牛逼得多。

职责的逻辑分离

使用Docker,开发人员仅仅须要关系容器中执行的应用程序。而运维人员仅仅须要关心怎样管理容器。分离职责。

高速、高效的开发生命周期

Docker的目标之中的一个就是缩短代码从开发,測试到部署。上线执行的周期,让应用程序具备可移植性,易于构建,易于协作。

鼓舞使用面向服务的架构

Docker鼓舞面向服务的架构和微服务架构,推荐单个容器仅仅执行一个进程或程序。

这样就形成了一个分布式的应用程序模型,在这样的情况下,应用程序或者服务都能够表示为一系列内部互联的容器,从而使分布式部署应用程序,扩展或调试应用程序变得非常easy。同一时候也提高了程序的内省性。

Docker组件

Docker包括例如以下组件:

Dockerclient和server

Docker镜像(image)

Docker容器

Registry

至于这些名词具体表示什么意思。后面会有文章做具体的介绍。

Docker能做什么

我们能够使用Docker做例如以下一些事情:

加速本地开发和构建流程。使其更加高效,更加轻量化。

能够让独立服务或者应用程序在不同的环境红,得到同样的执行结果。

用Docker创建隔离的环境来进行測试。

Docker能够让开发人员非常easy地在本机构建一个复杂的环境进行測试。

构建一个多用户的平台即服务(PaaS)基础设施。

为开发,測试提供一个轻量级的独立沙盒測试环境。

提供软件即服务(SaaS)应用程序。如Memcached即服务。

高性能。超大规模的宿主机部署。

Docker的核心技术

  • 文件系统隔离:每一个容器都拥有自己的root文件系统。

  • 进程隔离:每一个容器都执行在自己的进程环境中。
  • 网络隔离:容器的虚拟网络接口和IP都是分开的。

  • 资源隔离和分组:使用cgroups将CPU和内存资源独立分配给每一个 Docker容器。
  • 写时复制:文件系统都是写时复制的,速度快,占用磁盘空间更少。
  • 日志收集:容器产生的stdin,stdout。stderr日志都会被收集并记录日志。
  • 交互式shell:用户能够创建一个伪tty终端,将其连接到stdin,为容器提供一个交互式的shell。

$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('

    ').addClass('pre-numbering').hide();
    $(this).addClass('has-numbering').parent().append($numbering);
    for (i = 1; i ').text(i));
    };
    $numbering.fadeIn(1700);
    });
    });

Docker简单介绍的更多相关文章

  1. docker简单介绍----镜像和容器管理

    docker可以分为三部分:docker镜像   docker仓库  docker容器 docker镜像:一个image可以包含一个镜像,也可以理解为一个系统模板,里面安装了相关应用,也可以是纯净版的 ...

  2. docker 简单介绍及基础命令运用

    一.什么是docker? Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. 简单的来讲Docker实际上就是一个大型容器.容器是完全使用沙箱机制,相互之间不 ...

  3. docker简单介绍----Dockerfile命令

    DockerFile的组成部署: 下面优先介绍下Dcokerfile的基础指令 一.CMD指令:容器启动时要莫热门运行的命令,如果有多个CMD指定,最后一个生效 使用方法: CMD ["ex ...

  4. Docker系列(一):Docker简单介绍

    Docker简介: 多语言和框架:支持多语言和框架以及语言框架的扩展机制 多服务:开放的核心服务以及服务的扩展机制 多云和多IaaS技术:支持多种IaaS技术和多云的部署,包括公有云和私有云 Dock ...

  5. docker简单介绍。

    docker是啥? 一.概念? // 和运维有关的工具,和开发没有很大的关系.只需要去调试项目,将项目运行更迅速. 二.作用? 1.只需要关心项目的编写和调试,不需要关心具体的项目需要运行在哪里,并且 ...

  6. docker简单介绍----存储

    docker容器 中使用Volumes来实现数据的持久性,因为容器的删除会丢失数据,而关闭或者重启容器不会丢失数据 docker run -v即可使用Volumes 1.docker-managed ...

  7. docker简单介绍---部署私有docker仓库Registry

    1. 关于Registry 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候,我们的使用场景需要我们拥有一个私有 ...

  8. docker简单介绍----docker仓库的应用

    docker hub:主要用来存储docker镜像的仓库 docker默认提供了一个docker仓库,我们也可以自建私有仓库或者使用第三方的docker仓库来pull或者push镜像 这里我们以阿里云 ...

  9. docker简单介绍---网络端口管理

    一.查看docker支持的网络类型 docker network ls bridge:容器使用虚拟交换机的进行通信 host:使用宿主机的网络 none:只给容器分配一个lo的网卡,无法和外界进行通信 ...

随机推荐

  1. C# 弗洛伊德(Floyd)算法

    弗洛伊德(Floyd)算法 主要是用于计算图中所有顶点对之间的最短距离长度的算法,如果是要求某一个特定点到图中所有顶点之间的最短距离可以用;        ;    ;    ;            ...

  2. Photoshop技能167个经典的Photoshop技巧大全

    Photoshop技能167个经典的Photoshop技巧大全 学PS基础:Photoshop 技能167个­ 经典的Photoshop技巧大全,如果你是初级阶段的水平,熟读此文并掌握,马上进阶为中级 ...

  3. Stackoverflow上人气最旺的10个Java问题(转ImportNew)

    本文转自:http://www.importnew.com/16841.html 写的确实太好了 1.为什么两个(1927年)时间相减得到一个奇怪的结果? 如果执行下面的程序,程序解析两个间隔1秒的日 ...

  4. 电脑中已有VS2005和VS2010安装.NET3.5失败的解决方案

    1.重启 MSI 安装服务: 运行-输入“CMD”命令,在弹出的对话框中输入命令: msiexec/unregserver ,回车,并再次输入 msiexec/regserver . 2.启用 Pri ...

  5. Signal ()函数详细介绍 Linux函数

    http://blog.csdn.net/ta893115871/article/details/7475095 Signal ()函数详细介绍 Linux函数 signal()函数理解 在<s ...

  6. 呵呵!手把手带你在 IIS 上执行 Python

    公司的站点让我头痛死了.在众多前辈高手的带领下.一大堆的 CMD 在站点里执行得好好地,黑客攻击也好好地.仅仅有站点和我不好好地,我快累死了,站点快挂了.. . 为了解决问题.我想到了 Python ...

  7. android xml布局文件属性说明

    android xml布局文件属性说明 [摘]android xml布局文件属性说明 LinearLayout和RelativeLayout 共有属性:java代码中通过btn1关联次控件androi ...

  8. 0ctf-pwn_warmup-re_mips4

    Warmup(2) 程序很小,读写操作直接通过int 80h系统调用完成.栈溢出漏洞很明显,能溢出20字节.提示由于沙盒的保护只能来读取/home/warmup/flag文件.那么思路就很清楚了,打开 ...

  9. CSS 浏览器默认样式

    不要再说div天生就是block——这句话应该换成:浏览器默认样式天生规定了div是block——所以才导致了div是block!是默认样式规定的,不是浏览器的内核规定的. 没有设置block的元素, ...

  10. 各版本SDK Tools及ADT下载技巧

    我们在开发的时候,尤其是使用Eclipse安装ADT插件进行环境配置,我们需要从下载ADT插件及SDK,当我们从官网下载的时候,有的时候可能找不到下载的地方或者下载不到自己想要的版本,我就在此总结下如 ...