简介
Docker是一种容器技术。 所谓容器技术,就是将应用程序及其所需要的环境打包在一起, 并可以与外界隔离开来。Docker 又在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。是不是听起来Docker就好像是一个虚拟机——有自己的系统、网络、进程等等, 两者都实现了与外界的隔离(两个虚拟机之间互不干扰)。其实虚拟机技术很早就存在了,既然两者功能差不多, 为什么我们不直接使用虚拟机而要使用Docker容器呢?
Docker和虚拟机的比较
占用资源
虚拟机(ubuntu 16.04),如下所示, 可以看到直接从官网上下载下来的ubuntu 16.04镜像的大小:
其实不难从上面两幅图中看到, 虚拟机所占的资源是非常庞大的, 而且这还是没有安装python环境及软件依赖的库。 你可以打开自己的资源管理器, 看看如果像虚拟机这样分配资源, 你的电脑上最多能运行多少台虚拟机, 再想想如果考虑上你计算机的处理能力, 又能运行几台虚拟机(我以前的计算机是8 G内存,8个逻辑处理器,但是最多只能跑两台虚拟机, 而且计算机卡顿)?
Docker 可以看到整个Ubuntu环境不过是353 MB, 而且在其运行的时候只是相当于一个程序在跑,比虚拟机所占用的内存资源小得多得多。因此