Back

docker - (必读) 跟传统的 VM比较,以及文件系统, 镜像相关

发布时间: 2020-12-13 07:49:00

docker 是一个镜像文件吗?

跟传统的VM不一样.

必读参考文章:https://stackoverflow.com/questions/16047306/how-is-docker-different-from-a-virtual-machine

参考:https://stackoverflow.com/questions/29096967/what-are-the-differences-between-a-vm-image-and-a-docker-image

docker 与 vm相比: 启动速度快, 加载快,  镜像文件更容易被处理, (基本一秒内跑起来. VM则是几十秒到几分钟)

而且具备镜像的版本管理功能. ( docker commit ) 在跑单元测试的时候特别特别方便. 据说可以并行进程的跑. 不过我还没试过.

多个docker 还可以更好的共享使用系统的资源. ( vm 则机器严格的初始化就划分系统资源,docker则可以灵活的随时使用随时释放)

部署特别容易. 完全不需要挨个安装各种依赖,各种环境.  linux, mac, windows 拿到docker镜像就可以立刻使用.

底层机制不同:  具体看这里: https://stackoverflow.com/a/34757096/445908

docker : 借助于 同一个kernel下, 多个container共存, 每个container 拥有一个namespace, 这样 每个进程之间互相看不到. 所以启动特别快, 也很轻量级.

vm:  每个VM就是一个操作系统. N个VM就是N个操作系统, 一启动就要占用各种系统资源(内存,虚拟CPU等)

文件系统不同:

vm : 就是我们熟知的文件系统. 

docker :  layered file system,  记录从原始镜像开始的各种 diff  ,  你看到的image实际上是根据原始镜像不断增量变化的内容. 

Back