docker的自我认识(2)
docker的自我认识(2)
这里主要想写一些自己对docker与虚拟机的大体了解以及一些认识。
自己对docker的认识还只是初步阶段,并且在以后会不断加入新的内容,希望大家多多包涵!😁
##一.容器与虚拟机
###虚拟机
作为老牌的虚拟化技术,虚拟机被大量公司所采用,它是一种基于硬件的虚拟技术,采用指令级的虚拟,完全虚拟一整物理主机,包含CPU,内存,磁盘,网卡等硬件设备,给用户呈现的就是一个物理主机的特性。
其主要架构为下图所示:
###容器
容器是一种基于操作系统的虚拟技术,它运行在操作系统之上的用户空间,所有的容器都共用一个系统内核,甚至是公共库。容器引擎提供进程级别的隔离,让每个容器都像运行在单独的系统上,但又能够共享很多底层资源。
其主要架构为下图所示:
##二.何为Docker
Docker 是基于 Go 语言实现的云开源项目,是基于 linux 的多项开源 技术提供了高效、敏捷的和轻量级的容器方案,并且支持在多种主流 平台和本地系统上部署。
Docker 目标:“一次封装,到处运行”。
Docker的优势主要有以下几点:
1. 更快速的交付和部署。
2. 更高效的资源利用。
3. 更轻松的迁移扩展。
4. 更简单的更新管理。
三.Docker与虚拟机
Docker作为容器技术的代表,与传统的虚拟技术-虚拟机存在较大的区别,总结一下可以得到以下表格:
特性 | 容器 | 虚拟机 |
---|---|---|
启动速度 | 秒级启动 | 分钟级启动 |
硬盘使用 | 一般为MB | 一般为GB |
性能 | 接近原生 | 弱于原生 |
系统支持量 | 单机支持上千容器 | 一般几十个 |
隔离性 | 安全隔离 | 完全隔离 |
##四.总结
在计算机技术中,虚拟化是一种资源管理技术,是将计算机 的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换 后呈现出来,打破实体结构间的不可切割的障碍,使用户可以用比原 本的组态更好的方式来应用这些资源。
可见,Docker 以及相关其他容器技术都属于操作系统的虚拟化范畴。