zoukankan      html  css  js  c++  java
  • Docker容器是否可以改变世界?

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

    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已经被广泛应用,它能不能改变程序世界,相信用不了多久就可以看到结果

  • 相关阅读:
    如何运用领域驱动设计
    如何运用领域驱动设计
    linq Select与SelectMany的区别
    linq GroupBy 多字段分组
    Enumerable<T>的GroupJoin 方法和Join的用法和区别
    使用vscode搭建vue开发环境
    C# Windows服务发布生成步骤
    C#使用表驱动算法实现多层if或者switch语句重构
    记一次服务器重启后应用程序启动出错
    项目中的NLog日志记录
  • 原文地址:https://www.cnblogs.com/jun1019/p/6260597.html
Copyright © 2011-2022 走看看