Docker概述

1、Docker为什么会出现?

(1)开发和上线是两个不同的环境,以及在开发过程中出现不同的测试环境,导致应用环境配置是一个非常耗时且麻烦的工作。而且会存在依赖文件版本升级的问题,从而导致服务不可用。

(2)传统的流程:开发将服务封装成jar文件,由运维人员去发布上线。但是假如这个jar文件依赖MySQL、Redis、ES等数据库,运维人员则需要自行安装;Docker可以将应用文件、环境信息统一放在Docker仓库中,运维人员只需要下载发布在仓库中文件,执行运行即可。Docker简单说来就是一个词“打包”!Docker将不同的应用的环境信息进行打包隔离,解决了环境信息不一致的问题,也解决了冲突的问题。

 

2、Docker的隔离机制可以将服务器利用到极致。

3、Docker的发展历史

(1)2013年Docker开源,2014年,Docker1.0发布。

(2)在容器技术出现之前,都是通过虚拟机技术来解决问题。但是很笨重,因为虚拟机需要去模拟一些硬件操作,因为虚拟机虚拟的是一台电脑。

(3)Docker也是属于虚拟化技术的一种,但是Docker十分轻巧。

(4)VM和docker对比

  • VM的隔离需要开启多个虚拟机,每个虚拟机都相当于独立模拟一台电脑。需要几G,甚至十几G。启动慢。
  • docker的隔离是只生成一个最核心的镜像(Linux系统最小只需要4M就可以运行),十分小巧。docker只需要几M就可以了,启动快。

4、docker是基于go语言开发的。

5、虚拟机和docker对比

(1)虚拟机的缺点:资源占用多、冗余步骤多、启动速度慢

(2)容器化技术不是模拟一个完整的操作的系统。

(3)结构图对比

                     虚拟机的结构                     容器技术的结构
Docker概述

 

         所有的应用共享一个环境、依赖包。

Docker概述

 

             各自的依赖包互相隔离,运行在同一个内核之上。

 

(4)对比总结:

 

  • 传统的虚拟机会虚拟出一整套硬件,运行一个完整的操作系统,然后再这个系统上运行应用。
  • 容器直接运行在宿主机 的内核上,容器本身并没有内核,也不会去虚拟硬件。
  • 每个容器之间互相隔离,独立拥有各自的文件系统,互不影响。

 6、docker的优点

(1)应用更快速的交付和部署。打包镜像发布测试,一键运行。

(2)更便捷的升级和扩缩容。项目打包为一个镜像,扩展及其方便。

(3)更简单的系统运维。开发、测试、运维环境高度一致。

(4)更高效的计算资源利用。Docker是内核级别的虚拟化,可以在一个物理机上运行很多容器实例,服务器的性能可以被压榨到极致。

 

7、Docker的基本结构

镜像(image):docker镜像相当于一个模板,可以通过这个模板来创建容器服务。通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)

容器(container):docker利用容器技术,独立运行一个或者一个应用组,通过镜像来创建。包括启动、停止、删除等基本命令。

仓库(repository):仓库是存放镜像的地方,分为公有仓库和私有仓库。一般默认为Docker Hub,国内也有容器服务仓库,例如阿里云等。

 

Docker概述

 

Docker概述

上一篇:Mybatis中#{}和${}的区别是什么?


下一篇:使用ASP.NET AJAX一步调用Web Service和页面中的类方法