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已经被广泛应用,它能不能改变程序世界,相信用不了多久就可以看到结果
Docker容器是否可以改变世界?的更多相关文章
- 使用 Device Mapper来改变Docker容器的大小
作者:Jérôme Petazzoni ( Docker 布道师) 译者:Mark Shao ( EMC 中国高级工程师) 如果在 CentOS . REHL . Fedor 或者其他默认没有 AUF ...
- 容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术(36)
前面我们已经解决了容器间通信的问题,接下来讨论容器如何与外部世界通信.这里涉及两个方向: 容器访问外部世界 外部世界访问容器 容器访问外部世界 在我们当前的实验环境下,docker host 是可以访 ...
- Kubernetes & Docker 容器网络终极之战(十四)
目录 一.单主机 Docker 网络通信 1.1.host 模式 1.2 Bridge 模式 1.3 Container 模式 1.4.None 模式 二.跨主机 Docker 网络通信分类 2.1 ...
- 6.Docker容器底层实现了解与安全机制
原文地址: 点击直达 0x00 底层实现 我们以 Docker 基础架构来探究Docke底层的核心技术,简单的包括: Linux 上的命名空间(Namespaces) 控制组(Control grou ...
- 在Linux和Windows的Docker容器中运行ASP.NET Core
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott H ...
- Docker容器概念讲解
Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源. Docker是通过内核虚 ...
- Docker容器中运行ASP.NET Core
在Linux和Windows的Docker容器中运行ASP.NET Core 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了. ...
- 使用 Docker 容器应该避免的 10 个事情
当你最后投入容器的怀抱,发现它能解决很多问题,而且还具有众多的优点: 第一:它是不可变的 – 操作系统,库版本,配置,文件夹和应用都是一样的.您可以使用通过相同QA测试的镜像,使产品具有相同的表现. ...
- docker容器安全
title: docker容器安全 tags: Docker,容器,安全策略 grammar_cjkRuby: true --- Docker容器的安全性 1.安全策略-Cgroup 1.限制Cpu ...
随机推荐
- $.ajx的用法
$.ajax({type:'post',//可选geturl:'action.php',//这里是接收数据的PHP程序data:'data='dsa'',//传给PHP的数据,多个参数用&连接 ...
- 利用lambda和Collection.forEach
2.外部VS内部迭代 以前Java集合是不能够表达内部迭代的,而只提供了一种外部迭代的方式,也就是for或者while循环. 1 2 3 4 List persons = asList(new Per ...
- .net之工作流工程展示及代码分享(预告)
最近在帮公司做一个工作流程序模块,要求是可以嵌入到各种现有的程序中去.我想把自己制作的思路和过程同大家分享. 先上一张结构图: 由于该项目我一个人做,所以系统结构不能太复杂. 用到的技术主要有:DDD ...
- 【实践】用js 实现 jq 的removeClass 方法
HTML 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 01.线性表 ArrayList
public class MyArrayList { //容量 ; //存放数组元素 private object[] _items; //数组大小 private int _size; //元素个数 ...
- Intellij Idea 14 使用jetty-maven-plugin配置运行web工程
在项目中接触,虽然比较简单,也是经验的积累,web工程使用maven管理和构建,IDEA也是新接触的开发工具,用了一段时间,感觉so nice! 1:Run->Edit Configuratio ...
- ffmpeg编译参数详解
Usage: configure [options]用 法:configure [选项]Options: [defaults in brackets after descriptions]选 项: ...
- 170106、用9种办法解决 JS 闭包经典面试题之 for 循环取 i
闭包 1.正确的说,应该是指一个闭包域,每当声明了一个函数,它就产生了一个闭包域(可以解释为每个函数都有自己的函数栈),每个闭包域(Function 对象)都有一个 function scope(不是 ...
- [译]Dynamics AX 2012 R2 BI系列-规划分析的注意事项
https://msdn.microsoft.com/en-us/library/gg731898.aspx 在开始实施AX的分析特性前,有很多事情要考虑.本文描述了你必须考虑的事情,和在 ...
- JavaScript简介
JavaScript JavaScript 是一种轻量级的编程语言,是可插入 HTML 页面的编程代码,这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等 ...