容器技术概述

1、很早以前,部署/发布应用程序的方式

一台物理机,安装操作系统,然后安装应用程序

 缺点:

部署非常慢

成本非常高

资源浪费

难于迁移和扩展

可能会被限定硬件厂商

2、虚拟化技术

为了解决上面的问题,出现了虚拟化技术

 特点:

一个物理机可以部署多个app

每个app独立运行在一个VM里

虚拟化的优点

资源池: 一个物理机的资源分配到不同的虚拟机里

很容易扩展: 加物理机器或者加虚拟机

很容易云化: 亚马逊AWS,阿里云等

虚拟化的局限性

每个虚拟机都是一个完整的操作系统,要给其分配资源,当虚拟机数量增多时,操作系统本身消耗的资源势必增多

3、容器技术

1) 为什么容器技术会出现?

 开发人员用到多种不同的技术,不同的数据库,缓存,消息中间件等

 运维人员对App的部署,环境的安装,对App的监控等。

开发人员和运维人员使用的环境不一样,可能导致各种问题。

2) 容器解决了什么问题? 解决了开发和运维之间的矛盾

容器翻译过来是集装箱,我们按照集装箱的标准将东西放入集装箱,可以通过汽车运输,也可以通过轮船运输。

容器技术提供了对App的打包,容器可以运行在任何的环境中。这样开发和运维就可以通过标准的方式进行沟通。

 总结: 容器解决了什么问题?

1) 解决了开发和运维之间的矛盾

2) 在开发和运维之间搭建了一个桥梁,是实现devops的最佳解决方案。

4、什么是容器?

 对软件和其依赖的标准化打包

应用之间相互隔离

共享同一个OS Kernel

可以运行在很多主流操作系统上

5、容器和虚拟机的区别

 容器是APP层面的隔离

 虚拟化是物理资源层面的隔离

6、虚拟化技术+容器一起使用

 在虚拟机里使用容器,如上图,有三个虚拟机,左边两个使用容器Docker。

7、Docker产生的历史

2008年(容器技术在2004年和2008年已经作为Linux的一部分)

2013年  Docker由dotCloud公司创建的一个内部项目(利用底层LXC,做了一层包装)

2013年3月  Docker开源

2016年2月 第一个商业版本,现在叫企业版

原文地址:https://www.cnblogs.com/linlf03/p/12841381.html