Docker容器是否可以改变世界?

2016-01-15 杜亦舒

2016年了,很多大牛开始预测技术趋势,其中一个普遍的观点我也很认同:

Docker会更加流行,会改变程序世界

2015年的上半年我接触了Docker,熟悉之后,真有一点震惊的感觉,太方便了,可以解决很多问题

Container 通常翻译为容器,但还有另一个意思,就是“集装箱”

集装箱是21世纪最伟大的发明之一,它改变了世界货物运输体系,造就了一个高度自动化、标准化、低成本的物流体系,促进了经济的全球化发展

程序界也出现了同样的一个箱子,就是 Docker容器

Docker的核心特点

Docker是一个开源的应用容器引擎,由于其基于LXC的轻量级虚拟化技术,相比于KVM之类传统的虚拟机技术,最明显的特点就是启动快、更节省资源,启动一个容器只需要几秒钟,在一台普通的PC上甚至可以启动成百上千的容器,这都是传统虚拟机技术很难做到的

Docker主要解决的问题

(1)环境依赖

例如java的web开发部署环境,需要指定JDK版本、web服务器及其版本、各种jar包及其版本等等

Docker是个集装箱,可以先放入一个特定版本的操作系统,然后安装需要的所有环境,之后可以把这个集装箱放置在任何位置了

不管是放在开发服务器、测试服务器、运营服务器,环境都是一样的,不会出现因为环境不一致而导致的麻烦

不用Docker的话,可能就需要在不同的服务器上分别部署环境,很可能会出现环境差异问题

(2)大规模快速部署

服务器就像是轮船,Docker是集装箱

如果你想部署到100台服务器,那么只需要把集装箱复制到这些服务器上,每条船上放多少集装箱随意,只要能放下就行

不用Docker的话,就需要在各个服务器上搭建环境,应该不会太快吧

(3)隔离应用间的影响

每个集装箱是完全独立的,互相间不会有任何影响

例如把mysql5.5放入一个容器,把mysql5.6放入一个容器,这两个容器同时放入一台服务器,他们两个可以同时运行,之间完全不会互相影响,因为各自被锁在不同的箱子里

Docker已经被广泛应用,它能不能改变程序世界,相信用不了多久就可以看到结果

Docker容器是否可以改变世界?的更多相关文章

  1. 使用 Device Mapper来改变Docker容器的大小

    作者:Jérôme Petazzoni ( Docker 布道师) 译者:Mark Shao ( EMC 中国高级工程师) 如果在 CentOS . REHL . Fedor 或者其他默认没有 AUF ...

  2. 容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术(36)

    前面我们已经解决了容器间通信的问题,接下来讨论容器如何与外部世界通信.这里涉及两个方向: 容器访问外部世界 外部世界访问容器 容器访问外部世界 在我们当前的实验环境下,docker host 是可以访 ...

  3. Kubernetes & Docker 容器网络终极之战(十四)

    目录 一.单主机 Docker 网络通信 1.1.host 模式 1.2 Bridge 模式 1.3 Container 模式 1.4.None 模式 二.跨主机 Docker 网络通信分类 2.1 ...

  4. 6.Docker容器底层实现了解与安全机制

    原文地址: 点击直达 0x00 底层实现 我们以 Docker 基础架构来探究Docke底层的核心技术,简单的包括: Linux 上的命名空间(Namespaces) 控制组(Control grou ...

  5. 在Linux和Windows的Docker容器中运行ASP.NET Core

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott H ...

  6. Docker容器概念讲解

    Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源. Docker是通过内核虚 ...

  7. Docker容器中运行ASP.NET Core

    在Linux和Windows的Docker容器中运行ASP.NET Core 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了. ...

  8. 使用 Docker 容器应该避免的 10 个事情

    当你最后投入容器的怀抱,发现它能解决很多问题,而且还具有众多的优点: 第一:它是不可变的 – 操作系统,库版本,配置,文件夹和应用都是一样的.您可以使用通过相同QA测试的镜像,使产品具有相同的表现. ...

  9. docker容器安全

    title: docker容器安全 tags: Docker,容器,安全策略 grammar_cjkRuby: true --- Docker容器的安全性 1.安全策略-Cgroup 1.限制Cpu ...

随机推荐

  1. 真~让IE8支持background: rbga; ,IE8下兼容rgba颜色的半透明背景

    IE8下兼容rgba颜色的半透明背景 这样的标题在百度和google搜索下很多篇文章,讲解IE8下兼容rgba的. 这些文章全部都是使用IE下的filter来使元素透明,但是这个里面会有bug. 它们 ...

  2. css3基础必回选择器全解

    1.   *:通用元素选择器   * { margin: 0; padding: 0; } *选择器是选择页面上的全部元素,上面的代码作用是把全部元素的margin和padding设为0,最基本的清除 ...

  3. JS数组操作示意图(shift,unshift,pop,push)

    shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b: ...

  4. 20145227&20145201 《信息安全系统设计基础》实验三

    北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名:(按贡献大小排名)李子璇 鄢曼君 学号:(按贡献大小排名)20145201 20145227 成绩: ...

  5. hybird混合式开发搭建

    1.xml <?xml version="1.0" encoding="utf-8"?> <WebView xmlns:android=&qu ...

  6. IOS 截取图片 部分 并生成新图片

    /** * 从图片中按指定的位置大小截取图片的一部分 * * @param image UIImage image 原始的图片 * @param rect CGRect rect 要截取的区域 * * ...

  7. centos搭建属于自己wordpress网站

    1.在centos7中安装好mysql5.7.16.httpd.php.php-mysql工具 这里的mysql可以用yum一键安装,他可以自己解决依赖问题 [root@localhost ~]# y ...

  8. 代理 XP”组件已作为此服务器安全配置的一部分被关闭。系统管理员可以使用 sp_configure 来启用“代理 XP”。

    新建维护计划的时候遇到下图的报错信息 标题: Microsoft SQL Server Management Studio------------------------------ “代理 XP”组 ...

  9. python 学习笔记十七 django深入学习二 form,models

    表单 GET 和 POST 处理表单时候只会用到GET 和 POST 方法. Django 的登录表单使用POST 方法,在这个方法中浏览器组合表单数据.对它们进行编码以用于传输.将它们发送到服务器然 ...

  10. android studio卡死问题

    今天重新安装android studio 的时候 建工程的时候尽然卡住了,卡在 第一次卡在了 Refreshing gradle project 第二次卡 gradle:download http:/ ...