学习目标:

学习目标
docker介绍
docker与虚拟机的对比


学习内容:

Dockers概述
Docker为什么会出现?
2010年,几个搞it的年轻人,就在美国成立了一家公司 dotcloud,做一些 pass 的云计算服务, lxc有关的容器技术,他们将自己的技术(容器化技术)命名为Docker,Docker刚刚诞生的时候,没有引起行业的注意!

开源
Docker越来越多的人发现docker的优点,活了,docker每个月都更新一个版本!
2014年4月9日,docker1.0发布
docker为什么这么火,十分的轻巧!
在容器技术出来之前,我们都是使用虚拟机技术!

Docker是一个集成开发、打包、运行应用于一体的开放式平台。Docker可以用来快速交付应用。使用docker可以将应用程序从你的基础设施中分离出来,并将基础设施当作一个管理平台。Cocker可以快速打包时间,加快测试,快速发布,缩短开发及运行代码之间的周期。Docker通过结合内核容器化特点和工作流,并使之工具化来实现这一切,帮助管理和发布你的应用。

Docker两个重要概念

镜像

docker镜像是一个只读的模板。包含了容器运行时所需要的文件系统和一些参数。镜像是无状态的,也不会改变。镜像是用来创建容器的。你可以使用docker pull命令获取一个别人已经创建好的镜像,或者使用docker build来构建一个自己的镜像。
容器
docker容器就像是一个文件夹,容器中包含了应用运行所需的一切。每个容器都是一个隔离的和安全的应用平台。容器是镜像的实力,他是有状态的,而且随时会改变,容器一般是短暂的。

虚拟机

本质上是在模拟一台真实的计算机设备,同时遵循同样的程序执行方式。虚拟机能够利用“虚拟管理程序”运行在物理设备之上。反过来,虚拟机管理程序则可运行在主机设备或者裸机之上。
传统的虚拟机需要模拟整台机器包括硬件,每台虚拟机都需要有自己的操作系统,虚拟机一旦被开启,预分配给他的资源将全部被占用。每一个虚拟机包括应用,必要的二进制和库,以及一个完整的用户操作系统。

在windows中装一个VMware,通过这个软件我们虚拟出来一台或者多台电脑,笨重,虚拟机也是属于虚拟化技术,Docker容器技术,也是一种虚拟技术。


学习产出:



虚拟机:

Docker和虚拟机有各自擅长的领域,在软件开发、测试场景和生产运维场景中各有优劣
1、docker快速启动属于秒级别。虚拟机通常需要几分钟去启动(docker:隔离,镜像最核心的 环境4M + jdk + mysql 十分小巧。 几个M kb 秒级启动,)

2、docker需要的资源更少,docker在操作系统级别进行虚拟化,docker容器和内核交互,几乎没有性能损耗,性能优于通过Hypervisor层与内核层的虚拟化

3、Docker更轻量,docker的架構可以共用一個内核与共享应用程序库,所占内存极小。同样的硬件环境,docker运行的镜像数远远多于虚拟机数量。对系统的利用率非常高。

4、与虚拟机相比,Docker隔离性更弱,docker数据进程之间的隔离,虚拟机可以实现系统级别的隔离

5、安全性,docker的安全性更弱。docker的租户root和宿主机root等同,一旦容器内的用户从普通用户权限提升为root权限,它就直接具备了宿主机的root权限,进而可进行无限制的操作。虚拟机租户root权限和宿主机的root权限是分离的, 并且虚拟机利用如intel的vt-d和vt-x的ring-1硬件隔离技术,这种隔离技术可以防止虚拟机突破和彼此交互,而容器至今还没有任何形式的硬件隔离,这使得容器容易受到攻击。

6、可管理性,docker的集中化管理工具还不够成熟,各种虚拟化技术都有成熟的管理工具,例如Vmwar,Vcenter 提供完备的虚拟机管理能力。

7、高可用和可恢复性,docker对业务的高可用支持是通过快速重新部署实现的,虚拟化具备负载均衡,高可用,容错,迁移和数据保护 等经过生产时间检验的成熟保障机制,vmware可承诺虚拟机99.9999%高可用,保证业务连续性。

8、快速创建、删除, 虚拟化创建是分钟级别的,docker容器创建是秒级别的,docker的快速迭代性,决定了无论是开发、测试、部署都可以节省大量的时间

9、交付,部署, 虚拟机可以通过镜像事项环境交付的一致性,但镜像分发无法体系化,docker在dockerfile中记录了容器构建过程,可在集群中实现快熟分发和快速部署。

docker那年出来的 docker什么时候出来_java