最佳答案:单纯的Docker是一个非常难理解的东西,它和虚拟机有些类似,但又不等同于虚拟机,它们的原理是不同的。虚拟机只是对硬件进行虚拟化,基于物理机的硬件虚拟出一套硬件之后,在这个基础上运行一个完整的操作系统
单纯的Docker是一个非常难理解的东西,它和虚拟机有些类似,但又不等同于虚拟机,它们的原理是不同的。
虚拟机只是对硬件进行虚拟化,基于物理机的硬件虚拟出一套硬件之后,在这个基础上运行一个完整的操作系统,而Docker是虚拟化的容器,容器虚拟化的是操作系统而不是硬件,容器和容器之间共享同一套操作系统资源。
如此这般说Docker的概念还是很抽象,举个例子:Ubuntu的系统搭建的项目要部署到CentOS的服务器上,所有依赖的环境(比如:MySQL、Redis等等)都需要重新安装一遍,并按照部署的要求进行配置。使用Docker只需要一条命令就可以达成,需要MySQL只需要安装一个MySQL的镜像,需要Redis只需要安装一个带Redis的镜像,然后启动这些容器就可以。
如此这般就不会再出现诸如“这段代码在我机器上运行没有问题”之类的,可以轻松的将在一个平台上运行的应用,迅速的迁移到另一个平台,而不用考虑平台和运行环境的兼容性。
Docker包含了镜像(Image)、容器(Container)、仓库(Repository)Docker的镜像相当于Linux的root文件系统,它提供容器运行所需要的软件、资源、配置参数、库文件等等。容器才是运行的实体,镜像是经过一层层构建定义的,里面不包含任何动态数据,构建完之后就不会再改变,而容器可以创建、启动、停止、暂停、删除。仓库是用来集中存放镜像文件,这样就便于服务器进行统一的管理。
以上个人浅见,欢迎批评指正。
认同我的看法,请点个赞再走,感谢!
喜欢我的,请关注我,再次感谢!