
IT 技术进阶:初步认识 docker
随着云计算的崛起和不断发展,“云计算”这个词几乎已经家喻户晓,而在云计算
领域,Docker 是开发者需要具备的基本技能之一。那么,你知道什么是Docker 吗?
一、docker 是什么?
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一
个可移植的容器中,该容器包含了应用程序的代码、运行环境、依赖库、配置文件等必需的
资源,通过容器就可以实现方便快速并且与平台解耦的自动化部署方式,无论你部署时的环
境如何,容器中的应用程序都会运行在同一种环境下。
容器是现代软件交付的未来,Docker 便是目前使用最广泛的容器之一,它作为轻量
级虚拟化技术,拥有持续集成、版本控制、可移植性、隔离性和安全性等优势。
二、docker 与虚拟机的区别
某种程度上来讲,docker 与虚拟机比较类似,都仿佛是运行在操作系统上的操作系
统;
但实际上,虚拟机是运行了一个完全的操作系统,而 docker 运行的容器则与宿主机
共享 linux 内核;
三、Docker 的优势具体有哪些?
1、Docker 启动快速属于秒级别。虚拟机通常需要几分钟去启动。
2、Docker 需要的资源更少,Docker 在操作系统级别进行虚拟化,Docker 容器和内
核交互,几乎没有性能损耗,性能优于通过 Hypervisor 层与内核层的虚拟化。
3、Docker 更轻量,Docker 的架构可以共用一个内核与共享应用程序库,所占内存
极小。同样的硬件环境,Docker 运行的镜像数远多于虚拟机数量,对系统的利用率非常高。
4、与虚拟机相比,Docker 隔离性更弱,Docker 属于进程之间的隔离,虚拟机可实
现系统级别隔离。
5、安全性:Docker 的安全性也更弱。Docker 的租户 root 和宿主机 root 等同,一
旦容器内的用户从普通用户权限提升为 root 权限,它就直接具备了宿主机的 root 权限,进
而可进行无限制的操作。
6、可管理性:Docker 的集中化管理工具还不算成熟。各种虚拟化技术都有成熟的
管理工具,例如 VMware vCenter 提供完备的虚拟机管理能力。
7、高可用和可恢复性:Docker 对业务的高可用支持是通过快速重新部署实现的。
8、快速创建、删除:虚拟化创建是分钟级别的,Docker 容器创建是秒级别的,Docker
的快速迭代性,决定了无论是开发、测试、部署都可以节约大量时间。