Docker - 通往新世界的大门

引言

相信不少技术同窗在开发时都会使用虚拟机,配置好一个开发环境,之后使用时只须要启动虚拟机就行了。但虚拟机动辄几个GB,大一点儿的甚至几百个GB,并且只要其中任意的虚拟机文件损坏,整个虚拟机就没办法启动了。你可能说应该常常备份,这的确是个好主意。但有没有更好的办法呢?今天钢哥就带着你们了解一下Docker(容器),看看它是否比传统的虚拟机更适合咱们。docker

什么是容器?

顾名思义,容器就是用来装东西的。咱们平时喝水的杯子就是容器,只不过杯子这个“容器”是用来装水的,而咱们这里的容器装的是应用程序。测试

容器有什么特色?

  • 自包含性:它打包了应用程序的全部依赖,能够直接运行;
  • 可移植性:容器能够在几乎任何地方以相同的方式运行,这就确保了在开发、测试和生产环境均可以拥有彻底同样的运行环境;
  • 相互隔离性:多个容器间默认是相互隔离的,即便运行在同一台主机上;
  • 轻量级特性:秒级启动,占用资源少;

容器与虚拟机有什么区别?

不少同窗会以为,容器能作的事虚拟机也能作啊,到底有什么区别呢?spa

虚拟机的缺点

  • 占用资源多;
  • 冗余步骤多;
  • 启动慢;

容器的优势

  • 占用资源少;
  • 说起小;
  • 启动快;

下面是 Docker 官网截图(后文会解释什么是 Docker)
操作系统

从这张图咱们能够看出,传统的虚拟机很是重,每个虚拟机都是一台独立的操做系统。而 Docker 则不一样,它会重用宿主机已有的系统资源,同时又完美地隔离了不一样的容器,因此实现起来很是轻,也便于被标准化。有同窗会说,这跟传统虚拟机也没什么本质差异啊,新的虚拟机罢了。其实否则,正是这种“轻量级”的特性,使其有机会成为新的标准化的应用发布方式。code

相关文章
相关标签/搜索