一、为什么要使用Docker?
理由很简单,用了的人都说好用。在多系统的分布式项目中,往往传统的部署发包等操作,那是让每个上线的程序员恨的牙痒呀。通常都是通宵奋战,上生产解决各种部署发包问题。
个人简单总结一下三点:
1.部署简单且灵活,有独立的运行环境,避免了不必要的冲突。
2.节省了资源开销
3.类似于java, 打包一次各处部署运行。项目迁移灵活便捷。
二、什么是docker呢?
在讲之前,先来说说什么时容器?什么时虚拟机?
看下图:
简单解释一下,图左为容器,图右为虚拟机。
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。
两图比较,我们可以看到在容器中是由docker分配给项目独立的虚拟资源,项目运行是与底层系统隔离开来的。但虚拟机中可以看到项目运行是直接分配资源与底层系统交互。显然,如果App2不工作了,对于容器来说系统资源会运用在App1和3上。而对于VM,由于资源已经分配出去,所以就会出现利用率不高情况。