首页 > 代码库 > 虚拟化之docker

虚拟化之docker

1,什么是docker

dokcer是应用容器,它是基于系统的虚拟化,他不是基于硬件的虚拟化(KVM),可能这样说有点抽象,我在知乎看到过一个比喻,

docker思想是来源于集装箱的,在一艘大船上,可以用集装箱将各种物品分类并打包,那么这样就有多个集装箱,那么这里的集装箱类似于docker了。

而这艘大船就类似于我们的系统的了。

如下是它与kvm底层的区别

技术分享

 

 

2,docker的历史

 Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。

Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。

Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。

在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。

 

3,docker的特点

  • docker 容器之间是相互隔离的。
  • docker 比较轻量,启动非常快,秒级实现。
  • 资源利用率比较高,一台机器可以跑上千个docker容器。
  • 内核级别的虚拟化,不需要额外的hypevisor支持。内核版本最低2.6.32-573.18.1.el6,centos至少在6.5或以上。
  • 容易迁移,平台依赖性不强。
  • 更快的交付和部署,一次创建配置,任意地方运行。

4,docker与VM的区别

docker是以进程的方式存在的

docker比较轻量

 

4,docker的实际应用

1,更快速的交付和部署

对开发和运维人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。

开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。

Docker可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。

Docker容器很轻很快,容器的启动时间是秒级的,大量地节约开发、测试、部署的时间

2,更轻松的迁移和扩展

Docker容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、个人电脑、服务器等。

这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。

3,更简单的管理

使用Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。

 

部分内容摘自:https://www.zybuluo.com/zhpro/note/314843

虚拟化之docker