docker解决依赖兼容问题
docker为了解决依赖的兼容问题,采用了两个手段
- 将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包。
- 将应用放到一个隔离容器去运行,避免互相干扰。
docker和vm
- VM(VMware)在宿主机器、宿主机器操作系统的基础上创建虚拟层,虚拟化的操作系统,虚拟化的仓库,然后在安装应用
- Docker在宿主机器的操作系统上创建Docker引擎,直接在宿主主机的操作系统上调用硬件资源,而不是虚拟化操作系统和硬件资源,所以操作速度更快
docker和虚拟机的区别
- docker是一个系统进程,虚拟机是在操作系统中的操作系统
- docker体积小,启动速度快,性能好,虚拟机体积大,启动速度慢,性能一般
docker架构
镜像和容器
- 镜像 :docker将应用程序 及其所需要的依赖,函数库,环境,配置等文件打包在一起,称为镜像
- 容器: 镜像中的应用程序运行后形成的进程就是容器,docker会将这些应用程序进行隔离 ,将每一个应用程序打包,然后用于运行。
docker是一个CS架构的程序,由两部分组成 - 服务端(server):docker守护进程,负责处理docker指令
- 客户端(cli