作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。
首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。 其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。
容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。
具体说来,Docker 在如下几个方面具有较大的优势。
对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。
开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。 Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。 Docker 容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。
Docker 容器的运行不需要额外的 hypervisor 支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。
Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。
使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。
特性 | 容器 | 虚拟机 |
---|---|---|
启动 | 秒级 | 分钟级 |
硬盘使用 | 一般为 MB | 一般为 GB |
性能 | 接近原生 | 弱于 |
系统支持量 | 单机支持上千个容器 | 一般几十个 |
在介绍自定义网络拓扑之前,你可能会对一些外部工具和例子感兴趣:pipeworkJérôme Petazzoni 编写了一个叫 pipework 的 shell ...
*注意: 现在已经不推荐使用环境变量链接服务。替代方案是使用链接名称(默认就是被连接的服务名字)作为主机名来链接。详情查看 ...
保护集群本文档涉及与保护集群免受意外或恶意访问有关的主题,并对总体安全性提出建议。在开始之前你必须拥有一个Kubernetes的集...
在集群中使用级联删除本页面向你展示如何设置在你的集群执行垃圾收集时要使用的级联删除类型。在开始之前你必须拥有一个Kubernet...
配置API对象配额本文讨论如何为API对象配置配额,包括PersistentVolumeClaim和Service。配额限制了可以在命名空间中创建的特定类...
使用 Kustomize 对 Kubernetes 对象进行声明式管理Kustomize是一个独立的工具,用来通过kustomization 文件定制 Kubernetes对象...
Docker build 命令Docker 命令大全docker build : 使用Dockerfile创建镜像。语法docker build [OPTIONS] PATH | URL | -OPTIONS...