1.与虚拟机的区别
虚拟机在宿主机上抽象了一个操作系统包括自身的硬件等,启动慢,资源消耗大。
docker:仅抽象内核部分(linux仅170m左右),即运行容器文件的管理引擎(后台),可认为是一个精简的系统,直接运行在宿主机上。
每个容器之间都是相互隔离的,因为每个容器都可以看作一个简易版的linux环境
2.docker三要素
- 仓库----repo
- 镜像----image
- 容器----container
仓库:里面存放镜像文件
镜像:文件就是模板(是对内核之外的所有环境配置的打包)
容器:即镜像文件的实例
docker-daemon: docker守护进程
3.docker使用流程:
安装docker---->开发结束创建docker镜像push到docker仓库------>后端部署时即可直接拉取镜像(模板)------>创建容器实例(一个镜像可以创建多个实例),每个容器实例可以是一个服务,比如mysql,redis等
4.docker顾名思义
码头---鲸鱼就是docker引擎,集装箱就是一个个运行的app容器container,鲸鱼游在大海(宿主机:win,linux等)里
docker比虚拟机抽象层更少,由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在cpu/内存利用率上docker将会在效率上有明显优势。