如今,Docker 和容器将要改变世界,早已不是什么秘密了。对于一些深度用户,这种改变已经发生了。不过你造吗?和很多其他改变世界的事物一样,这些事物在彻底改变世界之前总是缺少点什么。但现在什么都不缺了!

之前缺少了什么?

一言以蔽之……编排

Docker 实在是太酷了——我指的是那些能改变游戏规则的技术。这些黑科技能给企业带来方方面面的巨大效益,随便列举几个:市场周期、稳定性、灵活性,还有资源利用率

不过与此同时,容器的规模化管理,一直是个棘手的难题。在以前,我们不得抓取 Docker Swarm,Kubernates,或者 Mesosphere DCOS 这类外部工具,把它们放置在容器之上,以此来管理大规模的容器。虽然说够用,但并不完美。

而不完美的原因是很复杂的。每一种外部工具都会给工作横生枝节,如果你想“安全”地把事情做完,这些枝节会带来很大的麻烦——搞得安全性只是一种“选项”似的。

总之,在我看来有三点主要的问题:

1、部署和管理规模化的基础设施(如 Docker 引擎)

2、部署和管理规模化的应用(如容器)

3、安全地完成上述两件事

之前说过,现在不缺了,因为 Docker 1.12 来了,首先是 Swarm 模式

Swarm 模式

解决第一个问题, Docker 1.12 使用了一种名为 Swarm Mode 的全新的工作模式。在这一模式下,Docker 引擎会自动连接到一起,成规模地组队工作。这支队伍被叫做 swarm,安全性方面不用担心——每个 swarm 都是默认安全的!绝不瞎说。

还有,swarm 的创建和管理也异常的简单。要配置一个全新的,受到 TLS 协议和安全密钥保护的 Swarm,只需要两条命令!而这些事情,放到以前,绝对能把你折腾死,白白浪费大量的时间、精力和金钱。相信我,我这么干过,而且绝对不想再干了。而 Swarm Mode 只需要两条傻瓜式命令就能做到这一切!

Services

关于 Swarm 模式,另一个不得不提的事情就是引入 services

在引入 services 之前,我们部署的都是独立容器。如果我们手头有一个 App 应用,包含了 5 个组件,那么部署和管理他们将是一项很沉重的工作。要想使之规模化,是很困难的,运行更新和升级的工作也十分枯燥,引入 services 后,这些问题都烟消云散了,有了 services,同样是带有 5 个组件的 App,我们可以把每个组件定义为一个 Docker Service,而且这些全都是声明式的。这也就意味着,我们可以告诉 Docker 说,“嘿,你要保证始终有 5 个容器在支持我的网页前端服务”,然后 Docker 就会哼哧哼哧地保证始终有 5 个容器在支持你的网页前端服务。就算偶尔崩溃了,修复成本也就一美元!

但这还不是 services 的全部。你是想得到一次需求高峰,还是预测一次需求高峰?要快速测量你的 service,只需要一个简单命令即可,升级也是件手到擒来的事。想要给你 service 使用中的图像换个版本?跟逛公园似的!一个简单的命令下去,你的service 就升级到最新版本了,而同样是这道简单的命令,还能把升级变成无缝升级(rolling update)。举个例子,拿一个带有 200 个容器的service,20 个容器一批,每次同时升级一批,然后在每一批的间隙等待 15 分钟。

说真的,这玩意儿太简单了,连我都能用!

最后的一点感想

我实在看不出来,如果这都不能改变游戏规则,那还有什么是可以的。它解决了大规模普及 Docker 的最大技术障碍!它很安全,可以规模化,而且很简单。这么好的东西,有谁不想要呢?这算不算是对现今行业环境的冲击?当然算是,不过且听我说明,我认为这次冲击是自后向前的,而不是自前向后的!

两者有什么区别呢?自后向前的冲击,是对这个行业的推动。它甩掉了行业的很多包袱(比如操作者的天赋差异,比如大规模生产的瓶颈),让一切变得简单化规模化,从而推动整个行业的正向发展,而且,这个行业也并非不期待出现 Docker 公司这样的生力军。毕竟,就像 Docker 想要发展出一种合作性的行业生态,行业自己也希望凭己之力,不断改变世界,创造价值。

所以在我看来,尽管冲击的力度很大,但这是一次对行业自后向前的积极冲击,而绝对不是从前往后的消极冲击。

本文转载地址:https://www.linuxprobe.com/docker-game.html

突破自我的Docker1.12的更多相关文章

  1. cAdvisor0.24.1+InfluxDB0.13+Grafana4.0.2搭建Docker1.12.3 Swarm集群性能监控平台

    目录 [TOC] 1.基本概念 ​ 既然是对Docker的容器进行监控,我们就不自己单独搭建cAdvisor.InfluxDB.Grarana了,本文中这三个实例,主要以Docker容器方式运行. 本 ...

  2. Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例

    目录 [TOC] 1.环境准备 ​ 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0. ...

  3. Docker1.12 新增swarm集群

    在Docker1.12新版本中,一个新增加的功能点是swarm集群,通过docker命令可以直接实现docker-engine相互发现,并组建成为一个容器集群.有关集群的docker命令如下: (1) ...

  4. docker1.12 安装pxc(Percona XtraDB Cluster )测试

    docker1.12 安装pxc(Percona XtraDB Cluster )测试

  5. docker1.12 安装redis第三方集群方案 codis

    docker1.12 安装redis第三方集群方案 codis

  6. docker1.12在cento7里的跨多主机容器网络

    docker1.12在cento7里的跨多主机容器网络

  7. centos7 docker1.12 私有仓库

    docker1.12私有仓库 参考:http://www.cnblogs.com/xcloudbiz/articles/5497037.html 参考:http://www.07net01.com/2 ...

  8. [转载] Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例

    1.环境准备 ​ 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0.33 c4 -&g ...

  9. (转) Docker - Docker1.12服务发现,负载均衡和Routing Mesh

    看到一篇介绍 Docker swarm以及如何编排的好文章,挪放到这里,自己学习的同时也分享出来. 原文链接: http://wwwbuild.net/dockerone/414200.html -- ...

随机推荐

  1. ref:如何在大量jar包中搜索特定字符

    ref:https://www.cnblogs.com/jiangxinnju/p/5137760.html?utm_source=tuicool&utm_medium=referral 如何 ...

  2. Python的环境搭建——万丈高楼平地起

    Python的环境搭建,远程连接,端口映射,虚拟机 写在正文之前 python语言的开发环境还是相对比较简单的,但是也是有很多需要注意的地方,对于初次接触python或者以前很少用到虚拟环境的朋友来说 ...

  3. logging记录日志

    日志是一个系统的重要组成部分,用以记录用户操作.系统运行状态和错误信息.日志记录的好坏直接关系到系统出现问题时定位的速度.logging模块Python2.3版本开始成为Python标准库的一部分. ...

  4. XSS漏洞自动化攻击工具XSSer

    XSS漏洞自动化攻击工具XSSer   XSS是Web应用常见的漏洞.利用该漏洞,安全人员在网站注入恶意脚本,控制用户浏览器,并发起其他渗透操作.XSSer是Kali Linux提供的一款自动化XSS ...

  5. 【BZOJ 1019】 1019: [SHOI2008]汉诺塔 (DP?)

    1019: [SHOI2008]汉诺塔 Description 汉诺塔由三根柱子(分别用A B C表示)和n个大小互不相同的空心盘子组成.一开始n个盘子都摞在柱子A上,大的在下面,小的在上面,形成了一 ...

  6. [BZOJ4237]稻草人(CDQ分治)

    先按y排序,二分,两边递归下去,然后处理下半部分对上半部分的贡献,即左下点在下半部分,右上点在上半部分的合法矩形个数. 两个部分均按x排序,枚举右上点p,则左下点需要满足: 1.横坐标大于上半部分纵坐 ...

  7. div块元素垂直水平居中方法总结

    1.已知块级元素的宽和高,使用绝对定位+外边距设定水平垂直居中. 父元素position:relative,子元素position:absolute;top:50%;left:50%;margin-t ...

  8. bzoj 2770 堆的中序遍历性质

    我们知道二叉搜索树的中序遍历是一个已经排好序的序列,知道序列我们无法确定树的形态(因为有多种). 但是,Treap如果告诉我们它的关键字以及权值,那么就可以唯一确定树的形态(Treap的O(logn) ...

  9. bzoj 4769: 超级贞鱼 -- 归并排序

    4769: 超级贞鱼 Time Limit: 1 Sec  Memory Limit: 128 MB Description 马达加斯加贞鱼是一种神奇的双脚贞鱼,它们把自己的智慧写在脚上——每只贞鱼的 ...

  10. Android ConstraintLayout约束控件链接整理

    Android新特性介绍,ConstraintLayout完全解析 探索Android ConstraintLayout布局 了解使用Android ConstraintLayout