一个新技术的出现,一定是解决了很多老技术存在的问题。
那么docker解决了什么问题呢?
首先我们传统的虚拟机技术。虽然能够虚拟出完整的操作系统和硬件使用。但是其容器太臃肿了,如果我们仅仅只需要发布一些项目到里面的话 那么太重量了。而且传统虚拟机安装没个半个小时搞不出来,所以我们就需要一种轻量级的虚拟技术来解决这些问题。那么docker应允而生。docker可以做到秒级响应。并且也能做到容器之间的相对隔离。
加粗样式
上面两张图就完美了展示传统虚拟机技术与docker的区别
在大鲸鱼上面 有多个小型集装箱 每个集装箱都是相对独立的。docker的logo就展示了docker的强大支出和便携度
- docker创建的容器是与宿主机共享os。但是VM是真正重新装了一个真实OS
- docker容器的镜像比较小。所以可移植性强。
- 在性能方面docker基本上没有性能损耗,虚拟机哲学要在除操作系统里面额外的CPU和内存消耗
docker对于我们软件开发者来说,部署利器。没有docker的时候 我们只能打包软件代码,但是用上docker我们可以直接将环境一起打包
等到服务器上面,我们就可以通过docker直接运行,而且不需要再额外的去考虑环境的兼容性。所以在批量部署上面,会有极大的优势。
附录:docker官网 https://www.docker.com/
dockerhub https://dockerhub.com/