Docker与虚拟机的对比
虚拟机技术缺点:
- 资源占用十分多
- 冗余步骤多(比如开机等)
- 启动很慢
Docker和传统虚拟机的不同:
- 传统虚拟机需要虚拟出一个硬件,运行一整个操作系统,然后在系统上安装和运行软件
- 容器内的应用直接运行在宿主机,容器没有自己的内核的, 也没有虚拟硬件,所以很轻便
- 每个容器之间互相隔离,每个容器内都有一个属于自己的文件系统,互不影响
Docker组成
镜像Image:
就好比一个模版,可以通过模版来创建容器服务
通过镜像可以创建多个容器(最终服务/项目运行就在容器中)
容器Container:
Docker利用容器技术,独立运行一个或一组应用,通过镜像来创建
基本命令:启动,停止,删除
目前可以把容器理解为一个简易的Linux系统
仓库Registry: 远程仓库
存放镜像的地方,就好比代码放git
仓库分为公有仓库和私有仓库
如Docker Hub(默认都是国内的,需要配置镜像加速)
云服务商都有容器服务器
Docker是怎么工作的
Docker是一个Client-Server架构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问
DockerServer接收到DockerClient的指令,就会执行这个指令
Docker为什么比VM快
Docker有着比VM更少的抽象层
Docker利用的是宿主机的内核,但VM需要加载一个分钟级别的Guest OS
所以说,新建一个容器的时候,docker不需要像VM一样重新加载一个OS的内核,省略了加载Guest OS的过程,所以会很快